public inbox for [email protected]
help / color / mirror / Atom feedFrom: Peter Smith <[email protected]>
To: PostgreSQL Hackers <[email protected]>
Subject: Add missing period to DETAIL messages
Date: Thu, 9 Apr 2026 14:27:32 +1000
Message-ID: <CAHut+PszSntkUgN+Qa9matGY6MLEoFGSuVbuKDgnnTdZ7YPRwg@mail.gmail.com> (raw)
Hi,
According to the error message style guide [1] "Detail and hint
messages: Use complete sentences, and end each with a period."
I found some DETAIL messages not following that period rule.
PSA a patch that fixes the missing period. In passing, I also fixed
some capitalization.
======
[1] https://www.postgresql.org/docs/devel/error-style-guide.html#ERROR-STYLE-GUIDE-GRAMMAR-PUNCTUATION
Kind Regards,
Peter Smith.
Fujitsu Australia
Attachments:
[application/octet-stream] v1-0001-Add-missing-period-to-DETAIL-messages.patch (28.8K, 2-v1-0001-Add-missing-period-to-DETAIL-messages.patch)
download | inline diff:
From 2df76239d028340359a073741c0924deaed4c40e Mon Sep 17 00:00:00 2001
From: Peter Smith <[email protected]>
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
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: Add missing period to DETAIL messages
In-Reply-To: <CAHut+PszSntkUgN+Qa9matGY6MLEoFGSuVbuKDgnnTdZ7YPRwg@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox