agora inbox for [email protected]help / color / mirror / Atom feed
[PATCH v13 3/4] Keep track of WAL usage in pg_stat_statements. 959+ messages / 2 participants [nested] [flat]
* [PATCH v13 3/4] Keep track of WAL usage in pg_stat_statements. @ 2020-03-17 13:42 Kirill Bychik <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Kirill Bychik @ 2020-03-17 13:42 UTC (permalink / raw) Author: Kirill Bychik Reviewed-by: Julien Rouhaud, Fuji Masao Discussion: https://postgr.es/m/CAB-hujrP8ZfUkvL5OYETipQwA=e3n7oqHFU=4ZLxWS_Cza3kQQ@mail.gmail.com --- .../expected/pg_stat_statements.out | 39 +++++++++++++ .../pg_stat_statements--1.7--1.8.sql | 5 +- .../pg_stat_statements/pg_stat_statements.c | 55 +++++++++++++++++-- .../sql/pg_stat_statements.sql | 23 ++++++++ doc/src/sgml/pgstatstatements.sgml | 27 +++++++++ 5 files changed, 144 insertions(+), 5 deletions(-) diff --git a/contrib/pg_stat_statements/expected/pg_stat_statements.out b/contrib/pg_stat_statements/expected/pg_stat_statements.out index 45dbe9e677..f615f8c2bf 100644 --- a/contrib/pg_stat_statements/expected/pg_stat_statements.out +++ b/contrib/pg_stat_statements/expected/pg_stat_statements.out @@ -211,6 +211,45 @@ SELECT query, calls, rows FROM pg_stat_statements ORDER BY query COLLATE "C"; UPDATE test SET b = $1 WHERE a > $2 | 1 | 3 (10 rows) +-- +-- INSERT, UPDATE, DELETE on test table to validate WAL generation metrics +-- +SELECT pg_stat_statements_reset(); + pg_stat_statements_reset +-------------------------- + +(1 row) + +-- utility "create table" should not be shown +CREATE TABLE pgss_test (a int, b char(20)); +INSERT INTO pgss_test VALUES(generate_series(1, 10), 'aaa'); +UPDATE pgss_test SET b = 'bbb' WHERE a > 7; +DELETE FROM pgss_test WHERE a > 9; +-- DROP test table +SET pg_stat_statements.track_utility = TRUE; +DROP TABLE pgss_test; +SET pg_stat_statements.track_utility = FALSE; +-- Check WAL is generated for the above statements +SELECT query, calls, rows, +wal_bytes > 0 as wal_bytes_generated, +wal_records > 0 as wal_records_generated, +wal_records = rows as wal_records_as_rows +FROM pg_stat_statements ORDER BY query COLLATE "C"; + query | calls | rows | wal_bytes_generated | wal_records_generated | wal_records_as_rows +-----------------------------------------------------------+-------+------+---------------------+-----------------------+--------------------- + DELETE FROM pgss_test WHERE a > $1 | 1 | 1 | t | t | t + DROP TABLE pgss_test | 1 | 0 | t | t | f + INSERT INTO pgss_test VALUES(generate_series($1, $2), $3) | 1 | 10 | t | t | t + SELECT pg_stat_statements_reset() | 1 | 1 | f | f | f + SELECT query, calls, rows, +| 0 | 0 | f | f | t + wal_bytes > $1 as wal_bytes_generated, +| | | | | + wal_records > $2 as wal_records_generated, +| | | | | + wal_records = rows as wal_records_as_rows +| | | | | + FROM pg_stat_statements ORDER BY query COLLATE "C" | | | | | + SET pg_stat_statements.track_utility = FALSE | 1 | 0 | f | f | t + UPDATE pgss_test SET b = $1 WHERE a > $2 | 1 | 3 | t | t | t +(7 rows) + -- -- pg_stat_statements.track = none -- diff --git a/contrib/pg_stat_statements/pg_stat_statements--1.7--1.8.sql b/contrib/pg_stat_statements/pg_stat_statements--1.7--1.8.sql index 60d454db7f..30566574ab 100644 --- a/contrib/pg_stat_statements/pg_stat_statements--1.7--1.8.sql +++ b/contrib/pg_stat_statements/pg_stat_statements--1.7--1.8.sql @@ -41,7 +41,10 @@ CREATE FUNCTION pg_stat_statements(IN showtext boolean, OUT temp_blks_read int8, OUT temp_blks_written int8, OUT blk_read_time float8, - OUT blk_write_time float8 + OUT blk_write_time float8, + OUT wal_records int8, + OUT wal_num_fpw int8, + OUT wal_bytes numeric ) RETURNS SETOF record AS 'MODULE_PATHNAME', 'pg_stat_statements_1_8' diff --git a/contrib/pg_stat_statements/pg_stat_statements.c b/contrib/pg_stat_statements/pg_stat_statements.c index 942922b01f..c42bf62fce 100644 --- a/contrib/pg_stat_statements/pg_stat_statements.c +++ b/contrib/pg_stat_statements/pg_stat_statements.c @@ -188,6 +188,9 @@ typedef struct Counters double blk_read_time; /* time spent reading, in msec */ double blk_write_time; /* time spent writing, in msec */ double usage; /* usage factor */ + int64 wal_records; /* # of WAL records generated */ + int64 wal_num_fpw; /* # of WAL full page image records generated */ + uint64 wal_bytes; /* total amount of WAL bytes generated */ } Counters; /* @@ -348,6 +351,7 @@ static void pgss_store(const char *query, uint64 queryId, pgssStoreKind kind, double total_time, uint64 rows, const BufferUsage *bufusage, + const WalUsage *walusage, pgssJumbleState *jstate); static void pg_stat_statements_internal(FunctionCallInfo fcinfo, pgssVersion api_version, @@ -891,6 +895,7 @@ pgss_post_parse_analyze(ParseState *pstate, Query *query) 0, 0, NULL, + NULL, &jstate); } @@ -926,9 +931,16 @@ pgss_planner(Query *parse, instr_time duration; BufferUsage bufusage_start, bufusage; + WalUsage walusage_start, + walusage; /* We need to track buffer usage as the planner can access them. */ bufusage_start = pgBufferUsage; + /* + * Similarly the planner could write some WAL records in some cases + * (e.g. setting a hint bit with those being WAL-logged) + */ + walusage_start = pgWalUsage; INSTR_TIME_SET_CURRENT(start); plan_nested_level++; @@ -954,6 +966,10 @@ pgss_planner(Query *parse, memset(&bufusage, 0, sizeof(BufferUsage)); BufferUsageAccumDiff(&bufusage, &pgBufferUsage, &bufusage_start); + /* calc differences of WAL counters. */ + memset(&walusage, 0, sizeof(WalUsage)); + WalUsageAccumDiff(&walusage, &pgWalUsage, &walusage_start); + pgss_store(query_string, parse->queryId, parse->stmt_location, @@ -962,6 +978,7 @@ pgss_planner(Query *parse, INSTR_TIME_GET_MILLISEC(duration), 0, &bufusage, + &walusage, NULL); } else @@ -1079,6 +1096,7 @@ pgss_ExecutorEnd(QueryDesc *queryDesc) queryDesc->totaltime->total * 1000.0, /* convert to msec */ queryDesc->estate->es_processed, &queryDesc->totaltime->bufusage, + &queryDesc->totaltime->walusage, NULL); } @@ -1123,8 +1141,10 @@ pgss_ProcessUtility(PlannedStmt *pstmt, const char *queryString, uint64 rows; BufferUsage bufusage_start, bufusage; - + WalUsage walusage_start, + walusage; bufusage_start = pgBufferUsage; + walusage_start = pgWalUsage; INSTR_TIME_SET_CURRENT(start); exec_nested_level++; @@ -1154,6 +1174,10 @@ pgss_ProcessUtility(PlannedStmt *pstmt, const char *queryString, memset(&bufusage, 0, sizeof(BufferUsage)); BufferUsageAccumDiff(&bufusage, &pgBufferUsage, &bufusage_start); + /* calc differences of WAL counters. */ + memset(&walusage, 0, sizeof(WalUsage)); + WalUsageAccumDiff(&walusage, &pgWalUsage, &walusage_start); + pgss_store(queryString, 0, /* signal that it's a utility stmt */ pstmt->stmt_location, @@ -1162,6 +1186,7 @@ pgss_ProcessUtility(PlannedStmt *pstmt, const char *queryString, INSTR_TIME_GET_MILLISEC(duration), rows, &bufusage, + &walusage, NULL); } else @@ -1197,7 +1222,8 @@ pgss_hash_string(const char *str, int len) * * If jstate is not NULL then we're trying to create an entry for which * we have no statistics as yet; we just want to record the normalized - * query string. total_time, rows, bufusage are ignored in this case. + * query string. total_time, rows, bufusage and walusage are ignored in this + * case. * * If kind is PGSS_PLAN or PGSS_EXEC, its value is used as the array position * for the arrays in the Counters field. @@ -1208,6 +1234,7 @@ pgss_store(const char *query, uint64 queryId, pgssStoreKind kind, double total_time, uint64 rows, const BufferUsage *bufusage, + const WalUsage *walusage, pgssJumbleState *jstate) { pgssHashKey key; @@ -1402,6 +1429,9 @@ pgss_store(const char *query, uint64 queryId, e->counters.blk_read_time += INSTR_TIME_GET_MILLISEC(bufusage->blk_read_time); e->counters.blk_write_time += INSTR_TIME_GET_MILLISEC(bufusage->blk_write_time); e->counters.usage += USAGE_EXEC(total_time); + e->counters.wal_records += walusage->wal_records; + e->counters.wal_num_fpw += walusage->wal_num_fpw; + e->counters.wal_bytes += walusage->wal_bytes; SpinLockRelease(&e->mutex); } @@ -1449,8 +1479,8 @@ pg_stat_statements_reset(PG_FUNCTION_ARGS) #define PG_STAT_STATEMENTS_COLS_V1_1 18 #define PG_STAT_STATEMENTS_COLS_V1_2 19 #define PG_STAT_STATEMENTS_COLS_V1_3 23 -#define PG_STAT_STATEMENTS_COLS_V1_8 29 -#define PG_STAT_STATEMENTS_COLS 29 /* maximum of above */ +#define PG_STAT_STATEMENTS_COLS_V1_8 32 +#define PG_STAT_STATEMENTS_COLS 32 /* maximum of above */ /* * Retrieve statement statistics. @@ -1786,6 +1816,23 @@ pg_stat_statements_internal(FunctionCallInfo fcinfo, values[i++] = Float8GetDatumFast(tmp.blk_read_time); values[i++] = Float8GetDatumFast(tmp.blk_write_time); } + if (api_version >= PGSS_V1_8) + { + char buf[256]; + Datum wal_bytes; + + values[i++] = Int64GetDatumFast(tmp.wal_records); + values[i++] = Int64GetDatumFast(tmp.wal_num_fpw); + + snprintf(buf, sizeof buf, UINT64_FORMAT, tmp.wal_bytes); + + /* Convert to numeric. */ + wal_bytes = DirectFunctionCall3(numeric_in, + CStringGetDatum(buf), + ObjectIdGetDatum(0), + Int32GetDatum(-1)); + values[i++] = wal_bytes; + } Assert(i == (api_version == PGSS_V1_0 ? PG_STAT_STATEMENTS_COLS_V1_0 : api_version == PGSS_V1_1 ? PG_STAT_STATEMENTS_COLS_V1_1 : diff --git a/contrib/pg_stat_statements/sql/pg_stat_statements.sql b/contrib/pg_stat_statements/sql/pg_stat_statements.sql index 435d51008f..75c10554a8 100644 --- a/contrib/pg_stat_statements/sql/pg_stat_statements.sql +++ b/contrib/pg_stat_statements/sql/pg_stat_statements.sql @@ -101,6 +101,29 @@ SELECT * FROM test WHERE a IN (1, 2, 3, 4, 5); SELECT query, calls, rows FROM pg_stat_statements ORDER BY query COLLATE "C"; +-- +-- INSERT, UPDATE, DELETE on test table to validate WAL generation metrics +-- +SELECT pg_stat_statements_reset(); + +-- utility "create table" should not be shown +CREATE TABLE pgss_test (a int, b char(20)); + +INSERT INTO pgss_test VALUES(generate_series(1, 10), 'aaa'); +UPDATE pgss_test SET b = 'bbb' WHERE a > 7; +DELETE FROM pgss_test WHERE a > 9; +-- DROP test table +SET pg_stat_statements.track_utility = TRUE; +DROP TABLE pgss_test; +SET pg_stat_statements.track_utility = FALSE; + +-- Check WAL is generated for the above statements +SELECT query, calls, rows, +wal_bytes > 0 as wal_bytes_generated, +wal_records > 0 as wal_records_generated, +wal_records = rows as wal_records_as_rows +FROM pg_stat_statements ORDER BY query COLLATE "C"; + -- -- pg_stat_statements.track = none -- diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml index b4df84c60b..3d26108649 100644 --- a/doc/src/sgml/pgstatstatements.sgml +++ b/doc/src/sgml/pgstatstatements.sgml @@ -264,6 +264,33 @@ </entry> </row> + <row> + <entry><structfield>wal_bytes</structfield></entry> + <entry><type>numeric</type></entry> + <entry></entry> + <entry> + Total amount of WAL bytes generated by the statement + </entry> + </row> + + <row> + <entry><structfield>wal_records</structfield></entry> + <entry><type>bigint</type></entry> + <entry></entry> + <entry> + Total count of WAL records generated by the statement + </entry> + </row> + + <row> + <entry><structfield>wal_num_fpw</structfield></entry> + <entry><type>bigint</type></entry> + <entry></entry> + <entry> + Total count of WAL full page writes generated by the statement + </entry> + </row> + </tbody> </tgroup> </table> -- 2.20.1 --dFWYt1i2NyOo1oI9 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="v13-0004-Expose-WAL-usage-counters-in-verbose-auto-vacuum.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 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 -- 2020-03-17 13:42 [PATCH v13 3/4] Keep track of WAL usage in pg_stat_statements. Kirill Bychik <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro 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