From 2df76239d028340359a073741c0924deaed4c40e Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Thu, 9 Apr 2026 14:21:40 +1000 Subject: [PATCH v1] Add missing period to DETAIL messages --- contrib/cube/cubescan.l | 4 +- contrib/cube/expected/cube.out | 46 +++++++++---------- contrib/dblink/dblink.c | 2 +- .../passwordcheck/expected/passwordcheck.out | 2 +- contrib/passwordcheck/passwordcheck.c | 2 +- .../postgres_fdw/expected/postgres_fdw.out | 2 +- contrib/seg/expected/seg.out | 32 ++++++------- contrib/seg/segscan.l | 4 +- src/backend/commands/copyto.c | 2 +- src/backend/commands/extension.c | 2 +- src/backend/commands/tablecmds.c | 10 ++-- src/backend/libpq/be-secure-openssl.c | 2 +- src/backend/partitioning/partbounds.c | 4 +- .../expected/test_extensions.out | 2 +- src/test/regress/expected/create_view.out | 2 +- src/test/regress/expected/partition_merge.out | 4 +- src/test/regress/expected/partition_split.out | 10 ++-- src/test/regress/expected/rangefuncs.out | 2 +- 18 files changed, 67 insertions(+), 67 deletions(-) diff --git a/contrib/cube/cubescan.l b/contrib/cube/cubescan.l index e2806dc288f..286efce23aa 100644 --- a/contrib/cube/cubescan.l +++ b/contrib/cube/cubescan.l @@ -82,7 +82,7 @@ cube_yyerror(NDBOX **result, Size scanbuflen, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), errmsg("invalid input syntax for cube"), /* translator: %s is typically "syntax error" */ - errdetail("%s at end of input", message))); + errdetail("%s at end of input.", message))); } else { @@ -90,7 +90,7 @@ cube_yyerror(NDBOX **result, Size scanbuflen, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), errmsg("invalid input syntax for cube"), /* translator: first %s is typically "syntax error" */ - errdetail("%s at or near \"%s\"", message, yytext))); + errdetail("%s at or near \"%s\".", message, yytext))); } } diff --git a/contrib/cube/expected/cube.out b/contrib/cube/expected/cube.out index 47787c50bd9..f685e0acce5 100644 --- a/contrib/cube/expected/cube.out +++ b/contrib/cube/expected/cube.out @@ -189,78 +189,78 @@ SELECT ''::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT ''::cube AS cube; ^ -DETAIL: syntax error at end of input +DETAIL: syntax error at end of input. SELECT 'ABC'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT 'ABC'::cube AS cube; ^ -DETAIL: syntax error at or near "A" +DETAIL: syntax error at or near "A". SELECT '[]'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '[]'::cube AS cube; ^ -DETAIL: syntax error at or near "]" +DETAIL: syntax error at or near "]". SELECT '[()]'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '[()]'::cube AS cube; ^ -DETAIL: syntax error at or near "]" +DETAIL: syntax error at or near "]". SELECT '[(1)]'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '[(1)]'::cube AS cube; ^ -DETAIL: syntax error at or near "]" +DETAIL: syntax error at or near "]". SELECT '[(1),]'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '[(1),]'::cube AS cube; ^ -DETAIL: syntax error at or near "]" +DETAIL: syntax error at or near "]". SELECT '[(1),2]'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '[(1),2]'::cube AS cube; ^ -DETAIL: syntax error at or near "2" +DETAIL: syntax error at or near "2". SELECT '[(1),(2),(3)]'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '[(1),(2),(3)]'::cube AS cube; ^ -DETAIL: syntax error at or near "," +DETAIL: syntax error at or near ",". SELECT '1,'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '1,'::cube AS cube; ^ -DETAIL: syntax error at end of input +DETAIL: syntax error at end of input. SELECT '1,2,'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '1,2,'::cube AS cube; ^ -DETAIL: syntax error at end of input +DETAIL: syntax error at end of input. SELECT '1,,2'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '1,,2'::cube AS cube; ^ -DETAIL: syntax error at or near "," +DETAIL: syntax error at or near ",". SELECT '(1,)'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '(1,)'::cube AS cube; ^ -DETAIL: syntax error at or near ")" +DETAIL: syntax error at or near ")". SELECT '(1,2,)'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '(1,2,)'::cube AS cube; ^ -DETAIL: syntax error at or near ")" +DETAIL: syntax error at or near ")". SELECT '(1,,2)'::cube AS cube; ERROR: invalid input syntax for cube LINE 1: SELECT '(1,,2)'::cube AS cube; ^ -DETAIL: syntax error at or near "," +DETAIL: syntax error at or near ",". -- invalid input: semantic errors and trailing garbage SELECT '[(1),(2)],'::cube AS cube; -- 0 ERROR: invalid input syntax for cube LINE 1: SELECT '[(1),(2)],'::cube AS cube; ^ -DETAIL: syntax error at or near "," +DETAIL: syntax error at or near ",". SELECT '[(1,2,3),(2,3)]'::cube AS cube; -- 1 ERROR: invalid input syntax for cube LINE 1: SELECT '[(1,2,3),(2,3)]'::cube AS cube; @@ -275,7 +275,7 @@ SELECT '(1),(2),'::cube AS cube; -- 2 ERROR: invalid input syntax for cube LINE 1: SELECT '(1),(2),'::cube AS cube; ^ -DETAIL: syntax error at or near "," +DETAIL: syntax error at or near ",". SELECT '(1,2,3),(2,3)'::cube AS cube; -- 3 ERROR: invalid input syntax for cube LINE 1: SELECT '(1,2,3),(2,3)'::cube AS cube; @@ -290,37 +290,37 @@ SELECT '(1,2,3)ab'::cube AS cube; -- 4 ERROR: invalid input syntax for cube LINE 1: SELECT '(1,2,3)ab'::cube AS cube; ^ -DETAIL: syntax error at or near "a" +DETAIL: syntax error at or near "a". SELECT '(1,2,3)a'::cube AS cube; -- 5 ERROR: invalid input syntax for cube LINE 1: SELECT '(1,2,3)a'::cube AS cube; ^ -DETAIL: syntax error at or near "a" +DETAIL: syntax error at or near "a". SELECT '(1,2)('::cube AS cube; -- 5 ERROR: invalid input syntax for cube LINE 1: SELECT '(1,2)('::cube AS cube; ^ -DETAIL: syntax error at or near "(" +DETAIL: syntax error at or near "(". SELECT '1,2ab'::cube AS cube; -- 6 ERROR: invalid input syntax for cube LINE 1: SELECT '1,2ab'::cube AS cube; ^ -DETAIL: syntax error at or near "a" +DETAIL: syntax error at or near "a". SELECT '1 e7'::cube AS cube; -- 6 ERROR: invalid input syntax for cube LINE 1: SELECT '1 e7'::cube AS cube; ^ -DETAIL: syntax error at or near "e" +DETAIL: syntax error at or near "e". SELECT '1,2a'::cube AS cube; -- 7 ERROR: invalid input syntax for cube LINE 1: SELECT '1,2a'::cube AS cube; ^ -DETAIL: syntax error at or near "a" +DETAIL: syntax error at or near "a". SELECT '1..2'::cube AS cube; -- 7 ERROR: invalid input syntax for cube LINE 1: SELECT '1..2'::cube AS cube; ^ -DETAIL: syntax error at or near ".2" +DETAIL: syntax error at or near ".2". SELECT '-1e-700'::cube AS cube; -- out of range ERROR: "-1e-700" is out of range for type double precision LINE 1: SELECT '-1e-700'::cube AS cube; diff --git a/contrib/dblink/dblink.c b/contrib/dblink/dblink.c index 9798cb535bc..2113aa41333 100644 --- a/contrib/dblink/dblink.c +++ b/contrib/dblink/dblink.c @@ -2710,7 +2710,7 @@ dblink_security_check(PGconn *conn, const char *connname, const char *connstr) ereport(ERROR, (errcode(ERRCODE_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED), errmsg("password or GSSAPI delegated credentials required"), - errdetail("Non-superusers may only connect using credentials they provide, eg: password in connection string or delegated GSSAPI credentials"), + errdetail("Non-superusers may only connect using credentials they provide, eg: password in connection string or delegated GSSAPI credentials."), errhint("Ensure provided credentials match target server's authentication method."))); } diff --git a/contrib/passwordcheck/expected/passwordcheck.out b/contrib/passwordcheck/expected/passwordcheck.out index 83472c76d27..ef524837ca9 100644 --- a/contrib/passwordcheck/expected/passwordcheck.out +++ b/contrib/passwordcheck/expected/passwordcheck.out @@ -6,7 +6,7 @@ ALTER USER regress_passwordcheck_user1 PASSWORD 'a_nice_long_password'; -- error: too short ALTER USER regress_passwordcheck_user1 PASSWORD 'tooshrt'; ERROR: password is too short -DETAIL: password must be at least "passwordcheck.min_password_length" (8) bytes long +DETAIL: password must be at least "passwordcheck.min_password_length" (8) bytes long. -- ok SET passwordcheck.min_password_length = 6; ALTER USER regress_passwordcheck_user1 PASSWORD 'v_shrt'; diff --git a/contrib/passwordcheck/passwordcheck.c b/contrib/passwordcheck/passwordcheck.c index 13fd5c976a0..94f4d535539 100644 --- a/contrib/passwordcheck/passwordcheck.c +++ b/contrib/passwordcheck/passwordcheck.c @@ -101,7 +101,7 @@ check_password(const char *username, ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("password is too short"), - errdetail("password must be at least \"passwordcheck.min_password_length\" (%d) bytes long", + errdetail("password must be at least \"passwordcheck.min_password_length\" (%d) bytes long.", min_password_length))); /* check if the password contains the username */ diff --git a/contrib/postgres_fdw/expected/postgres_fdw.out b/contrib/postgres_fdw/expected/postgres_fdw.out index cd22553236f..09340988dab 100644 --- a/contrib/postgres_fdw/expected/postgres_fdw.out +++ b/contrib/postgres_fdw/expected/postgres_fdw.out @@ -11664,7 +11664,7 @@ DELETE FROM result_tbl; -- Test COPY TO when foreign table is partition COPY async_pt TO stdout; --error ERROR: cannot copy from foreign table "async_p1" -DETAIL: Partition "async_p1" is a foreign table in partitioned table "async_pt" +DETAIL: Partition "async_p1" is a foreign table in partitioned table "async_pt". HINT: Try the COPY (SELECT ...) TO variant. DROP FOREIGN TABLE async_p3; DROP TABLE base_tbl3; diff --git a/contrib/seg/expected/seg.out b/contrib/seg/expected/seg.out index cd21139b5a7..b9fbf23c0f1 100644 --- a/contrib/seg/expected/seg.out +++ b/contrib/seg/expected/seg.out @@ -405,42 +405,42 @@ SELECT ''::seg AS seg; ERROR: bad seg representation LINE 1: SELECT ''::seg AS seg; ^ -DETAIL: syntax error at end of input +DETAIL: syntax error at end of input. SELECT 'ABC'::seg AS seg; ERROR: bad seg representation LINE 1: SELECT 'ABC'::seg AS seg; ^ -DETAIL: syntax error at or near "A" +DETAIL: syntax error at or near "A". SELECT '1ABC'::seg AS seg; ERROR: bad seg representation LINE 1: SELECT '1ABC'::seg AS seg; ^ -DETAIL: syntax error at or near "A" +DETAIL: syntax error at or near "A". SELECT '1.'::seg AS seg; ERROR: bad seg representation LINE 1: SELECT '1.'::seg AS seg; ^ -DETAIL: syntax error at or near "." +DETAIL: syntax error at or near ".". SELECT '1.....'::seg AS seg; ERROR: bad seg representation LINE 1: SELECT '1.....'::seg AS seg; ^ -DETAIL: syntax error at or near ".." +DETAIL: syntax error at or near "..". SELECT '.1'::seg AS seg; ERROR: bad seg representation LINE 1: SELECT '.1'::seg AS seg; ^ -DETAIL: syntax error at or near "." +DETAIL: syntax error at or near ".". SELECT '1..2.'::seg AS seg; ERROR: bad seg representation LINE 1: SELECT '1..2.'::seg AS seg; ^ -DETAIL: syntax error at or near "." +DETAIL: syntax error at or near ".". SELECT '1 e7'::seg AS seg; ERROR: bad seg representation LINE 1: SELECT '1 e7'::seg AS seg; ^ -DETAIL: syntax error at or near "e" +DETAIL: syntax error at or near "e". SELECT '1e700'::seg AS seg; ERROR: "1e700" is out of range for type real LINE 1: SELECT '1e700'::seg AS seg; @@ -1287,13 +1287,13 @@ FROM unnest(ARRAY['-1 .. 1'::text, '1 e7', '1e700']) str, LATERAL pg_input_error_info(str, 'seg') as errinfo; - seg | ok | sql_error_code | message | detail | hint -----------+----+----------------+---------------------------------------+------------------------------+------ - -1 .. 1 | t | | | | - 100(+-)1 | t | | | | - | f | 42601 | bad seg representation | syntax error at end of input | - ABC | f | 42601 | bad seg representation | syntax error at or near "A" | - 1 e7 | f | 42601 | bad seg representation | syntax error at or near "e" | - 1e700 | f | 22003 | "1e700" is out of range for type real | | + seg | ok | sql_error_code | message | detail | hint +----------+----+----------------+---------------------------------------+-------------------------------+------ + -1 .. 1 | t | | | | + 100(+-)1 | t | | | | + | f | 42601 | bad seg representation | syntax error at end of input. | + ABC | f | 42601 | bad seg representation | syntax error at or near "A". | + 1 e7 | f | 42601 | bad seg representation | syntax error at or near "e". | + 1e700 | f | 22003 | "1e700" is out of range for type real | | (6 rows) diff --git a/contrib/seg/segscan.l b/contrib/seg/segscan.l index 3a0cd7ed506..18558688765 100644 --- a/contrib/seg/segscan.l +++ b/contrib/seg/segscan.l @@ -79,7 +79,7 @@ seg_yyerror(SEG *result, struct Node *escontext, yyscan_t yyscanner, const char (errcode(ERRCODE_SYNTAX_ERROR), errmsg("bad seg representation"), /* translator: %s is typically "syntax error" */ - errdetail("%s at end of input", message))); + errdetail("%s at end of input.", message))); } else { @@ -87,7 +87,7 @@ seg_yyerror(SEG *result, struct Node *escontext, yyscan_t yyscanner, const char (errcode(ERRCODE_SYNTAX_ERROR), errmsg("bad seg representation"), /* translator: first %s is typically "syntax error" */ - errdetail("%s at or near \"%s\"", message, yytext))); + errdetail("%s at or near \"%s\".", message, yytext))); } } diff --git a/src/backend/commands/copyto.c b/src/backend/commands/copyto.c index f0e0147c665..2d2a2e84952 100644 --- a/src/backend/commands/copyto.c +++ b/src/backend/commands/copyto.c @@ -838,7 +838,7 @@ BeginCopyTo(ParseState *pstate, ereport(ERROR, errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("cannot copy from foreign table \"%s\"", relation_name), - errdetail("Partition \"%s\" is a foreign table in partitioned table \"%s\"", + errdetail("Partition \"%s\" is a foreign table in partitioned table \"%s\".", relation_name, RelationGetRelationName(rel)), errhint("Try the COPY (SELECT ...) TO variant.")); } diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c index a330b5fd6ce..cd8810e7dbd 100644 --- a/src/backend/commands/extension.c +++ b/src/backend/commands/extension.c @@ -3431,7 +3431,7 @@ AlterExtensionNamespace(const char *extensionName, const char *newschema, Oid *o (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("extension \"%s\" does not support SET SCHEMA", NameStr(extForm->extname)), - errdetail("%s is not in the extension's schema \"%s\"", + errdetail("%s is not in the extension's schema \"%s\".", getObjectDescription(&dep, false), get_namespace_name(oldNspOid)))); } diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 803a0e47567..d9d5622aa46 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -15377,7 +15377,7 @@ RememberAllDependentForRebuilding(AlteredTableInfo *tab, AlterTableType subtype, ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot alter type of a column used by a function or procedure"), - errdetail("%s depends on column \"%s\"", + errdetail("%s depends on column \"%s\".", getObjectDescription(&foundObject, false), colName))); break; @@ -15392,7 +15392,7 @@ RememberAllDependentForRebuilding(AlteredTableInfo *tab, AlterTableType subtype, ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot alter type of a column used by a view or rule"), - errdetail("%s depends on column \"%s\"", + errdetail("%s depends on column \"%s\".", getObjectDescription(&foundObject, false), colName))); break; @@ -15412,7 +15412,7 @@ RememberAllDependentForRebuilding(AlteredTableInfo *tab, AlterTableType subtype, ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot alter type of a column used in a trigger definition"), - errdetail("%s depends on column \"%s\"", + errdetail("%s depends on column \"%s\".", getObjectDescription(&foundObject, false), colName))); break; @@ -15431,7 +15431,7 @@ RememberAllDependentForRebuilding(AlteredTableInfo *tab, AlterTableType subtype, ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot alter type of a column used in a policy definition"), - errdetail("%s depends on column \"%s\"", + errdetail("%s depends on column \"%s\".", getObjectDescription(&foundObject, false), colName))); break; @@ -15490,7 +15490,7 @@ RememberAllDependentForRebuilding(AlteredTableInfo *tab, AlterTableType subtype, ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot alter type of a column used by a publication WHERE clause"), - errdetail("%s depends on column \"%s\"", + errdetail("%s depends on column \"%s\".", getObjectDescription(&foundObject, false), colName))); break; diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c index a3e222f3a3d..c7fe2dc7b99 100644 --- a/src/backend/libpq/be-secure-openssl.c +++ b/src/backend/libpq/be-secure-openssl.c @@ -473,7 +473,7 @@ be_tls_init(bool isServerStart) ereport(isServerStart ? FATAL : LOG, (errcode(ERRCODE_CONFIG_FILE_ERROR), errmsg("could not set SSL protocol version range"), - errdetail("\"%s\" cannot be higher than \"%s\"", + errdetail("\"%s\" cannot be higher than \"%s\".", "ssl_min_protocol_version", "ssl_max_protocol_version"))); goto error; diff --git a/src/backend/partitioning/partbounds.c b/src/backend/partitioning/partbounds.c index 5afa781f086..8b1ac2a90a9 100644 --- a/src/backend/partitioning/partbounds.c +++ b/src/backend/partitioning/partbounds.c @@ -5032,7 +5032,7 @@ check_two_partitions_bounds_range(Relation parent, errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("can not merge partition \"%s\" together with partition \"%s\"", second_name->relname, first_name->relname), - errdetail("lower bound of partition \"%s\" is not equal to the upper bound of partition \"%s\"", + errdetail("Lower bound of partition \"%s\" is not equal to the upper bound of partition \"%s\".", second_name->relname, first_name->relname), errhint("ALTER TABLE ... MERGE PARTITIONS requires the partition bounds to be adjacent."), parser_errposition(pstate, datum->location)); @@ -5041,7 +5041,7 @@ check_two_partitions_bounds_range(Relation parent, errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("can not split to partition \"%s\" together with partition \"%s\"", second_name->relname, first_name->relname), - errdetail("lower bound of partition \"%s\" is not equal to the upper bound of partition \"%s\"", + errdetail("Lower bound of partition \"%s\" is not equal to the upper bound of partition \"%s\".", second_name->relname, first_name->relname), errhint("ALTER TABLE ... SPLIT PARTITION requires the partition bounds to be adjacent."), parser_errposition(pstate, datum->location)); diff --git a/src/test/modules/test_extensions/expected/test_extensions.out b/src/test/modules/test_extensions/expected/test_extensions.out index fdae52d6ab2..1b5debdeeb1 100644 --- a/src/test/modules/test_extensions/expected/test_extensions.out +++ b/src/test/modules/test_extensions/expected/test_extensions.out @@ -566,7 +566,7 @@ SELECT pg_describe_object(classid, objid, objsubid) as obj, -- fails, as function dep_req1 is not in the same schema as the extension. ALTER EXTENSION test_ext_req_schema1 SET SCHEMA test_func_dep3; ERROR: extension "test_ext_req_schema1" does not support SET SCHEMA -DETAIL: function test_func_dep2.dep_req1() is not in the extension's schema "test_func_dep1" +DETAIL: function test_func_dep2.dep_req1() is not in the extension's schema "test_func_dep1". -- Move back the function, and the extension can be moved. ALTER FUNCTION test_func_dep2.dep_req1() SET SCHEMA test_func_dep1; ALTER EXTENSION test_ext_req_schema1 SET SCHEMA test_func_dep3; diff --git a/src/test/regress/expected/create_view.out b/src/test/regress/expected/create_view.out index 63cf4b4371d..053fa56573f 100644 --- a/src/test/regress/expected/create_view.out +++ b/src/test/regress/expected/create_view.out @@ -1720,7 +1720,7 @@ rollback; -- likewise, altering a referenced column's type is prohibited ... alter table tt14t alter column f4 type integer using f4::integer; -- fail ERROR: cannot alter type of a column used by a view or rule -DETAIL: rule _RETURN on view tt14v depends on column "f4" +DETAIL: rule _RETURN on view tt14v depends on column "f4". -- ... but some bug might let it happen, so check defenses begin; -- destroy the dependency entry that prevents the ALTER: diff --git a/src/test/regress/expected/partition_merge.out b/src/test/regress/expected/partition_merge.out index 883110e25d9..9b8f5ee137c 100644 --- a/src/test/regress/expected/partition_merge.out +++ b/src/test/regress/expected/partition_merge.out @@ -35,14 +35,14 @@ HINT: ALTER TABLE ... MERGE PARTITIONS can only merge partitions don't have sub -- (space between sections sales_jan2022 and sales_mar2022) ALTER TABLE sales_range MERGE PARTITIONS (sales_jan2022, sales_mar2022) INTO sales_jan_mar2022; ERROR: can not merge partition "sales_mar2022" together with partition "sales_jan2022" -DETAIL: lower bound of partition "sales_mar2022" is not equal to the upper bound of partition "sales_jan2022" +DETAIL: Lower bound of partition "sales_mar2022" is not equal to the upper bound of partition "sales_jan2022". HINT: ALTER TABLE ... MERGE PARTITIONS requires the partition bounds to be adjacent. -- ERROR: can not merge partition "sales_jan2022" together with partition "sales_dec2021" -- DETAIL: lower bound of partition "sales_jan2022" is not equal to the upper bound of partition "sales_dec2021" -- (space between sections sales_dec2021 and sales_jan2022) ALTER TABLE sales_range MERGE PARTITIONS (sales_dec2021, sales_jan2022, sales_feb2022) INTO sales_dec_jan_feb2022; ERROR: can not merge partition "sales_jan2022" together with partition "sales_dec2021" -DETAIL: lower bound of partition "sales_jan2022" is not equal to the upper bound of partition "sales_dec2021" +DETAIL: Lower bound of partition "sales_jan2022" is not equal to the upper bound of partition "sales_dec2021". HINT: ALTER TABLE ... MERGE PARTITIONS requires the partition bounds to be adjacent. -- ERROR: partition with name "sales_feb2022" is already used ALTER TABLE sales_range MERGE PARTITIONS (sales_feb2022, sales_mar2022, partitions_merge_schema.sales_feb2022) INTO sales_feb_mar_apr2022; diff --git a/src/test/regress/expected/partition_split.out b/src/test/regress/expected/partition_split.out index dbcb9a4f6b7..a3f52117944 100644 --- a/src/test/regress/expected/partition_split.out +++ b/src/test/regress/expected/partition_split.out @@ -109,7 +109,7 @@ ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO ERROR: can not split to partition "sales_mar2022" together with partition "sales_feb2022" LINE 3: PARTITION sales_mar2022 FOR VALUES FROM ('2022-02-01') TO... ^ -DETAIL: lower bound of partition "sales_mar2022" is not equal to the upper bound of partition "sales_feb2022" +DETAIL: Lower bound of partition "sales_mar2022" is not equal to the upper bound of partition "sales_feb2022". HINT: ALTER TABLE ... SPLIT PARTITION requires the partition bounds to be adjacent. -- Tests for spaces between partitions, them should be executed without DEFAULT partition ALTER TABLE sales_range DETACH PARTITION sales_others; @@ -470,7 +470,7 @@ ALTER TABLE sales_range SPLIT PARTITION sales_others INTO ERROR: can not split to partition "sales_error" together with partition "sales_dec2021" LINE 3: PARTITION sales_error FOR VALUES FROM ('2021-12-30') TO (... ^ -DETAIL: lower bound of partition "sales_error" is not equal to the upper bound of partition "sales_dec2021" +DETAIL: Lower bound of partition "sales_error" is not equal to the upper bound of partition "sales_dec2021". HINT: ALTER TABLE ... SPLIT PARTITION requires the partition bounds to be adjacent. -- sales_error intersects with sales_feb2022 (upper bound) -- ERROR: can not split to partition "sales_feb2022" together with partition "sales_error" @@ -482,7 +482,7 @@ ALTER TABLE sales_range SPLIT PARTITION sales_others INTO ERROR: can not split to partition "sales_feb2022" together with partition "sales_error" LINE 4: PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO... ^ -DETAIL: lower bound of partition "sales_feb2022" is not equal to the upper bound of partition "sales_error" +DETAIL: Lower bound of partition "sales_feb2022" is not equal to the upper bound of partition "sales_error". HINT: ALTER TABLE ... SPLIT PARTITION requires the partition bounds to be adjacent. -- sales_error intersects with sales_dec2021 (inside bound) -- ERROR: can not split to partition "sales_error" together with partition "sales_dec2021" @@ -494,7 +494,7 @@ ALTER TABLE sales_range SPLIT PARTITION sales_others INTO ERROR: can not split to partition "sales_error" together with partition "sales_dec2021" LINE 3: PARTITION sales_error FOR VALUES FROM ('2021-12-10') TO (... ^ -DETAIL: lower bound of partition "sales_error" is not equal to the upper bound of partition "sales_dec2021" +DETAIL: Lower bound of partition "sales_error" is not equal to the upper bound of partition "sales_dec2021". HINT: ALTER TABLE ... SPLIT PARTITION requires the partition bounds to be adjacent. -- sales_error intersects with sales_dec2021 (exactly the same bounds) -- ERROR: can not split to partition "sales_error" together with partition "sales_dec2021" @@ -506,7 +506,7 @@ ALTER TABLE sales_range SPLIT PARTITION sales_others INTO ERROR: can not split to partition "sales_error" together with partition "sales_dec2021" LINE 3: PARTITION sales_error FOR VALUES FROM ('2021-12-01') TO (... ^ -DETAIL: lower bound of partition "sales_error" is not equal to the upper bound of partition "sales_dec2021" +DETAIL: Lower bound of partition "sales_error" is not equal to the upper bound of partition "sales_dec2021". HINT: ALTER TABLE ... SPLIT PARTITION requires the partition bounds to be adjacent. -- ERROR: can not split DEFAULT partition "sales_others" -- HINT: To split DEFAULT partition one of the new partition must be DEFAULT. diff --git a/src/test/regress/expected/rangefuncs.out b/src/test/regress/expected/rangefuncs.out index 5cc94011e97..a7cb1b5611d 100644 --- a/src/test/regress/expected/rangefuncs.out +++ b/src/test/regress/expected/rangefuncs.out @@ -2279,7 +2279,7 @@ ERROR: attribute 5 of type record has been dropped rollback; alter table users alter column seq type numeric; -- fail, view has reference ERROR: cannot alter type of a column used by a view or rule -DETAIL: rule _RETURN on view usersview depends on column "seq" +DETAIL: rule _RETURN on view usersview depends on column "seq". -- likewise, check we don't crash if the dependency goes wrong begin; -- destroy the dependency entry that prevents the ALTER: -- 2.47.3