agora inbox for pgsql-hackers@postgresql.orghelp / color / mirror / Atom feed
[PATCH 3/9] remove excess parens around ereport 324+ messages / 1 participants [nested] [flat]
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH 3/9] remove excess parens around ereport @ 2026-03-12 15:09 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-03-12 15:09 UTC (permalink / raw) --- src/backend/commands/cluster.c | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index db3980b84f5..af47354e382 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -992,10 +992,10 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) /* Data changes in system relations are not logically decoded. */ if (IsCatalogRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for catalog relations."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for catalog relations.")); /* * reorderbuffer.c does not seem to handle processing of TOAST relation @@ -1003,28 +1003,28 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) */ if (IsToastRelation(rel)) ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too."))); + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is not supported for TOAST relations, unless the main relation is repacked too.")); relpersistence = rel->rd_rel->relpersistence; if (relpersistence != RELPERSISTENCE_PERMANENT) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("REPACK CONCURRENTLY is only allowed for permanent relations."))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("REPACK CONCURRENTLY is only allowed for permanent relations.")); /* With NOTHING, WAL does not contain the old tuple. */ replident = rel->rd_rel->relreplident; if (replident == REPLICA_IDENTITY_NOTHING) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot repack relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has insufficient replication identity.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot repack relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has insufficient replication identity.", + RelationGetRelationName(rel))); /* * If the identity index is not set due to replica identity being, PK @@ -1035,11 +1035,11 @@ check_repack_concurrently_requirements(Relation rel, Oid *ident_idx_p) ident_idx = rel->rd_pkindex; if (!OidIsValid(ident_idx)) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot process relation \"%s\"", - RelationGetRelationName(rel)), - errhint("Relation \"%s\" has no identity index.", - RelationGetRelationName(rel)))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot process relation \"%s\"", + RelationGetRelationName(rel)), + errhint("Relation \"%s\" has no identity index.", + RelationGetRelationName(rel))); *ident_idx_p = ident_idx; } @@ -2793,20 +2793,21 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, ReadLocalXLogPageNoWaitPrivate *priv; if (errm) - ereport(ERROR, (errmsg("%s", errm))); + ereport(ERROR, + errmsg("%s", errm)); /* * In the decoding loop we do not want to get blocked when there * is no more WAL available, otherwise the loop would become * uninterruptible. */ - priv = (ReadLocalXLogPageNoWaitPrivate *) - ctx->reader->private_data; + priv = (ReadLocalXLogPageNoWaitPrivate *) ctx->reader->private_data; if (priv->end_of_wal) /* Do not miss the end of WAL condition next time. */ priv->end_of_wal = false; else - ereport(ERROR, (errmsg("could not read WAL record"))); + ereport(ERROR, + errmsg("could not read WAL record")); } /* @@ -2852,7 +2853,8 @@ decode_concurrent_changes(LogicalDecodingContext *ctx, timeout); if (res != WAIT_LSN_RESULT_SUCCESS && res != WAIT_LSN_RESULT_TIMEOUT) - ereport(ERROR, (errmsg("waiting for WAL failed"))); + ereport(ERROR, + errmsg("waiting for WAL failed")); } } @@ -3050,7 +3052,8 @@ apply_concurrent_update(Relation rel, HeapTuple tup, HeapTuple tup_target, &tmfd, &lockmode, &update_indexes, false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent UPDATE"))); + ereport(ERROR, + errmsg("failed to apply concurrent UPDATE")); ExecStoreHeapTuple(tup, index_slot, false); @@ -3091,7 +3094,8 @@ apply_concurrent_delete(Relation rel, HeapTuple tup_target) false /* wal_logical */ ); if (res != TM_Ok) - ereport(ERROR, (errmsg("failed to apply concurrent DELETE"))); + ereport(ERROR, + errmsg("failed to apply concurrent DELETE")); pgstat_progress_incr_param(PROGRESS_REPACK_HEAP_TUPLES_DELETED, 1); } @@ -3576,7 +3580,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, * Should not happen, given our lock on the old relation. */ ereport(ERROR, - (errmsg("identity index missing on the new relation"))); + errmsg("identity index missing on the new relation")); /* Gather information to apply concurrent changes. */ chgdst.rel = NewHeap; @@ -3864,9 +3868,9 @@ start_decoding_worker(Oid relid) decoding_worker = palloc0_object(DecodingWorker); if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle)) ereport(ERROR, - (errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), - errmsg("out of background worker slots"), - errhint("You might need to increase \"%s\".", "max_worker_processes"))); + errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED), + errmsg("out of background worker slots"), + errhint("You might need to increase \"%s\".", "max_worker_processes")); decoding_worker->seg = seg; decoding_worker->error_mqh = mqh; @@ -3921,8 +3925,8 @@ stop_decoding_worker(void) if (status == BGWH_POSTMASTER_DIED) ereport(FATAL, - (errcode(ERRCODE_ADMIN_SHUTDOWN), - errmsg("postmaster exited during REPACK command"))); + errcode(ERRCODE_ADMIN_SHUTDOWN), + errmsg("postmaster exited during REPACK command")); shm_mq_detach(decoding_worker->error_mqh); @@ -3979,8 +3983,8 @@ RepackWorkerMain(Datum main_arg) seg = dsm_attach(DatumGetUInt32(main_arg)); if (seg == NULL) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("could not map dynamic shared memory segment"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("could not map dynamic shared memory segment")); shared = (DecodingWorkerShared *) dsm_segment_address(seg); -- 2.47.3 --pnppmxqkefjd4hu2 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0004-XLogRecPtrIsInvalid-XLogRecPtrIsValid.nocfbot.txt" ^ permalink raw reply [nested|flat] 324+ messages in thread
* [PATCH v52 10/10] CheckLogicalDecodingRequirements: be specific about which GUC is limiting @ 2026-04-03 19:01 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 324+ messages in thread From: Álvaro Herrera @ 2026-04-03 19:01 UTC (permalink / raw) --- src/backend/commands/repack_worker.c | 3 ++- src/backend/replication/logical/logical.c | 8 +++++--- src/backend/replication/logical/logicalfuncs.c | 2 +- src/backend/replication/slot.c | 18 ++++++++++++------ src/backend/replication/slotfuncs.c | 11 ++++++----- src/backend/replication/walsender.c | 5 +++-- src/include/replication/logical.h | 3 ++- src/include/replication/slot.h | 2 +- 8 files changed, 32 insertions(+), 20 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 610592a05b0..ca827223845 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -224,7 +224,7 @@ repack_setup_logical_decoding(Oid relid) * Make sure we can use logical decoding. */ CheckSlotPermissions(); - CheckLogicalDecodingRequirements(); + CheckLogicalDecodingRequirements(true); /* * A single backend should not execute multiple REPACK commands at a time, @@ -252,6 +252,7 @@ repack_setup_logical_decoding(Oid relid) ctx = CreateInitDecodingContext(REPL_PLUGIN_NAME, NIL, true, + true, InvalidXLogRecPtr, XL_ROUTINE(.page_read = read_local_xlog_page, .segment_open = wal_segment_open, diff --git a/src/backend/replication/logical/logical.c b/src/backend/replication/logical/logical.c index f20a0fe70ad..a08aece5731 100644 --- a/src/backend/replication/logical/logical.c +++ b/src/backend/replication/logical/logical.c @@ -108,9 +108,9 @@ static void LoadOutputPlugin(OutputPluginCallbacks *callbacks, const char *plugi * decoding. */ void -CheckLogicalDecodingRequirements(void) +CheckLogicalDecodingRequirements(bool repack) { - CheckSlotRequirements(); + CheckSlotRequirements(repack); /* * NB: Adding a new requirement likely means that RestoreSlotFromDisk() @@ -305,6 +305,7 @@ StartupDecodingContext(List *output_plugin_options, * output_plugin_options -- contains options passed to the output plugin * need_full_snapshot -- if true, must obtain a snapshot able to read all * tables; if false, one that can read only catalogs is acceptable. + * for_repack -- if true, we're going to be decoding for REPACK. * restart_lsn -- if given as invalid, it's this routine's responsibility to * mark WAL as reserved by setting a convenient restart_lsn for the slot. * Otherwise, we set for decoding to start from the given LSN without @@ -325,6 +326,7 @@ LogicalDecodingContext * CreateInitDecodingContext(const char *plugin, List *output_plugin_options, bool need_full_snapshot, + bool for_repack, XLogRecPtr restart_lsn, XLogReaderRoutine *xl_routine, LogicalOutputPluginWriterPrepareWrite prepare_write, @@ -341,7 +343,7 @@ CreateInitDecodingContext(const char *plugin, * On a standby, this check is also required while creating the slot. * Check the comments in the function. */ - CheckLogicalDecodingRequirements(); + CheckLogicalDecodingRequirements(for_repack); /* shorter lines... */ slot = MyReplicationSlot; diff --git a/src/backend/replication/logical/logicalfuncs.c b/src/backend/replication/logical/logicalfuncs.c index 9760818941d..512013b0ef0 100644 --- a/src/backend/replication/logical/logicalfuncs.c +++ b/src/backend/replication/logical/logicalfuncs.c @@ -115,7 +115,7 @@ pg_logical_slot_get_changes_guts(FunctionCallInfo fcinfo, bool confirm, bool bin CheckSlotPermissions(); - CheckLogicalDecodingRequirements(); + CheckLogicalDecodingRequirements(false); if (PG_ARGISNULL(0)) ereport(ERROR, diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index 2c6c6773ad2..13004ed547a 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -1669,19 +1669,25 @@ CheckLogicalSlotExists(void) * slots. */ void -CheckSlotRequirements(void) +CheckSlotRequirements(bool repack) { + int limit; + /* * NB: Adding a new requirement likely means that RestoreSlotFromDisk() * needs the same check. */ - /* XXX we should be able to check exactly which type of slot we need */ - if (max_replication_slots + max_repack_replication_slots == 0) + if (repack) + limit = max_repack_replication_slots; + else + limit = max_replication_slots; + + if (limit == 0) ereport(ERROR, - (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("replication slots can only be used if \"%s\" > 0 or \"%s\" > 0", - "max_replication_slots", "max_repack_replication_slots"))); + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("replication slots can only be used if \"%s\" > 0", + repack ? "max_repack_replication_slots" : "max_replication_slots")); if (wal_level < WAL_LEVEL_REPLICA) ereport(ERROR, diff --git a/src/backend/replication/slotfuncs.c b/src/backend/replication/slotfuncs.c index 78dd3c4ea66..16fbd383735 100644 --- a/src/backend/replication/slotfuncs.c +++ b/src/backend/replication/slotfuncs.c @@ -90,7 +90,7 @@ pg_create_physical_replication_slot(PG_FUNCTION_ARGS) CheckSlotPermissions(); - CheckSlotRequirements(); + CheckSlotRequirements(false); create_physical_replication_slot(NameStr(*name), immediately_reserve, @@ -164,6 +164,7 @@ create_logical_replication_slot(char *name, char *plugin, */ ctx = CreateInitDecodingContext(plugin, NIL, false, /* just catalogs is OK */ + false, /* not repack */ restart_lsn, XL_ROUTINE(.page_read = read_local_xlog_page, .segment_open = wal_segment_open, @@ -203,7 +204,7 @@ pg_create_logical_replication_slot(PG_FUNCTION_ARGS) CheckSlotPermissions(); - CheckLogicalDecodingRequirements(); + CheckLogicalDecodingRequirements(false); create_logical_replication_slot(NameStr(*name), NameStr(*plugin), @@ -240,7 +241,7 @@ pg_drop_replication_slot(PG_FUNCTION_ARGS) CheckSlotPermissions(); - CheckSlotRequirements(); + CheckSlotRequirements(false); ReplicationSlotDrop(NameStr(*name), true); @@ -648,9 +649,9 @@ copy_replication_slot(FunctionCallInfo fcinfo, bool logical_slot) CheckSlotPermissions(); if (logical_slot) - CheckLogicalDecodingRequirements(); + CheckLogicalDecodingRequirements(false); else - CheckSlotRequirements(); + CheckSlotRequirements(false); LWLockAcquire(ReplicationSlotControlLock, LW_SHARED); diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index 75ef3419a15..9d7d675fa96 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -1240,7 +1240,7 @@ CreateReplicationSlot(CreateReplicationSlotCmd *cmd) Assert(cmd->kind == REPLICATION_KIND_LOGICAL); - CheckLogicalDecodingRequirements(); + CheckLogicalDecodingRequirements(false); /* * Initially create persistent slot as ephemeral - that allows us to @@ -1309,6 +1309,7 @@ CreateReplicationSlot(CreateReplicationSlotCmd *cmd) Assert(IsLogicalDecodingEnabled()); ctx = CreateInitDecodingContext(cmd->plugin, NIL, need_full_snapshot, + false, InvalidXLogRecPtr, XL_ROUTINE(.page_read = logical_read_xlog_page, .segment_open = WalSndSegmentOpen, @@ -1466,7 +1467,7 @@ StartLogicalReplication(StartReplicationCmd *cmd) QueryCompletion qc; /* make sure that our requirements are still fulfilled */ - CheckLogicalDecodingRequirements(); + CheckLogicalDecodingRequirements(false); Assert(!MyReplicationSlot); diff --git a/src/include/replication/logical.h b/src/include/replication/logical.h index bc9d4ece672..bc075b16741 100644 --- a/src/include/replication/logical.h +++ b/src/include/replication/logical.h @@ -115,11 +115,12 @@ typedef struct LogicalDecodingContext } LogicalDecodingContext; -extern void CheckLogicalDecodingRequirements(void); +extern void CheckLogicalDecodingRequirements(bool repack); extern LogicalDecodingContext *CreateInitDecodingContext(const char *plugin, List *output_plugin_options, bool need_full_snapshot, + bool for_repack, XLogRecPtr restart_lsn, XLogReaderRoutine *xl_routine, LogicalOutputPluginWriterPrepareWrite prepare_write, diff --git a/src/include/replication/slot.h b/src/include/replication/slot.h index c316a01a807..489af7d8d6c 100644 --- a/src/include/replication/slot.h +++ b/src/include/replication/slot.h @@ -378,7 +378,7 @@ extern void ReplicationSlotDropAtPubNode(WalReceiverConn *wrconn, char *slotname extern void StartupReplicationSlots(void); extern void CheckPointReplicationSlots(bool is_shutdown); -extern void CheckSlotRequirements(void); +extern void CheckSlotRequirements(bool repack); extern void CheckSlotPermissions(void); extern ReplicationSlotInvalidationCause GetSlotInvalidationCause(const char *cause_name); -- 2.47.3 --gp2pyozrd5pweboh-- ^ permalink raw reply [nested|flat] 324+ messages in thread
end of thread, other threads:[~2026-04-03 19:01 UTC | newest] Thread overview: 324+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-03-12 15:09 [PATCH 3/9] remove excess parens around ereport Álvaro Herrera <alvherre@kurilemu.de> 2026-04-03 19:01 [PATCH v52 10/10] CheckLogicalDecodingRequirements: be specific about which GUC is limiting Álvaro Herrera <alvherre@kurilemu.de>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox