aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmit Kapila <akapila@postgresql.org>2024-12-09 09:11:45 +0530
committerAmit Kapila <akapila@postgresql.org>2024-12-09 09:11:45 +0530
commit2d0152d6147bb7d12eb120b7e749a323bf91aa6e (patch)
tree140f898479feb4b882113e95264005dcc29ef3de
parentda99fedf8c1726326868d37a0e886caf9107d040 (diff)
downloadpostgresql-2d0152d6147bb7d12eb120b7e749a323bf91aa6e.tar.gz
postgresql-2d0152d6147bb7d12eb120b7e749a323bf91aa6e.zip
Improve the error message introduced in commit 87ce27de696.
The error detail message "Replica identity consists of an unpublished generated column." implies that the entire replica identity is made up of an unpublished generated column which may not be the case. Reported-by: Peter Smith Author: Shlok Kyal Reviewed-by: Peter Smith, Amit Kapila Discussion: https://postgr.es/m/CAHut+PuwMhKx0PhOA4APhJTLoBGNykbeCQpr_CuwGT-SkswG5w@mail.gmail.com
-rw-r--r--src/backend/executor/execReplication.c4
-rw-r--r--src/test/regress/expected/publication.out4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/backend/executor/execReplication.c b/src/backend/executor/execReplication.c
index cfdf2eedf4d..368a40337aa 100644
--- a/src/backend/executor/execReplication.c
+++ b/src/backend/executor/execReplication.c
@@ -825,7 +825,7 @@ CheckCmdReplicaIdentity(Relation rel, CmdType cmd)
(errcode(ERRCODE_INVALID_COLUMN_REFERENCE),
errmsg("cannot update table \"%s\"",
RelationGetRelationName(rel)),
- errdetail("Replica identity consists of an unpublished generated column.")));
+ errdetail("Replica identity must not contain unpublished generated columns.")));
else if (cmd == CMD_DELETE && !pubdesc.rf_valid_for_delete)
ereport(ERROR,
(errcode(ERRCODE_INVALID_COLUMN_REFERENCE),
@@ -843,7 +843,7 @@ CheckCmdReplicaIdentity(Relation rel, CmdType cmd)
(errcode(ERRCODE_INVALID_COLUMN_REFERENCE),
errmsg("cannot delete from table \"%s\"",
RelationGetRelationName(rel)),
- errdetail("Replica identity consists of an unpublished generated column.")));
+ errdetail("Replica identity must not contain unpublished generated columns.")));
/* If relation has replica identity we are always good. */
if (OidIsValid(RelationGetReplicaIndex(rel)))
diff --git a/src/test/regress/expected/publication.out b/src/test/regress/expected/publication.out
index b44ab007de6..c48f11f2935 100644
--- a/src/test/regress/expected/publication.out
+++ b/src/test/regress/expected/publication.out
@@ -683,13 +683,13 @@ ALTER TABLE testpub_gencol REPLICA IDENTITY USING index testpub_gencol_idx;
CREATE PUBLICATION pub_gencol FOR TABLE testpub_gencol;
UPDATE testpub_gencol SET a = 100 WHERE a = 1;
ERROR: cannot update table "testpub_gencol"
-DETAIL: Replica identity consists of an unpublished generated column.
+DETAIL: Replica identity must not contain unpublished generated columns.
-- error - generated column "b" must be published explicitly as it is
-- part of the REPLICA IDENTITY.
ALTER TABLE testpub_gencol REPLICA IDENTITY FULL;
UPDATE testpub_gencol SET a = 100 WHERE a = 1;
ERROR: cannot update table "testpub_gencol"
-DETAIL: Replica identity consists of an unpublished generated column.
+DETAIL: Replica identity must not contain unpublished generated columns.
DROP PUBLICATION pub_gencol;
-- ok - generated column "b" is published explicitly
CREATE PUBLICATION pub_gencol FOR TABLE testpub_gencol with (publish_generated_columns = true);