From: Justin Pryzby <pryzby@telsasoft.com>
To: pgsql-hackers@lists.postgresql.org
Subject: errdetail/errhint style
Date: Tue, 19 Jul 2022 07:09:48 -0500
Message-ID: <20220719120948.GF12702@telsasoft.com> (raw)
Most of these are new in v15.
In any case, I'm not sure if the others ought to be backpatched.
There may be additional fixes to make with the same grepping.
Attachments:0001-errdetail-hint-messages-should-be-capitalized-and-en.patch (text/x-diff, 21.4K) download
From a33bd79c2f36046463489fbd37c76d7f0c3f7a8e Mon Sep 17 00:00:00 2001
From: Justin Pryzby <pryzbyj@telsasoft.com>
Date: Mon, 18 Jul 2022 13:54:38 -0500
Subject: [PATCH] errdetail/hint messages should be capitalized and end with a
dot
https://www.postgresql.org/docs/current/error-style-guide.html#id-1.10.6.4.7
git grep 'errdetail("[[:lower:]]'
git grep 'errdetail(".*".*;' |grep -v '\."'
See also:
501ed02cf6f4f60c3357775eb07578aebc912d3a
730422afcdb6784bbe20efc65de72156d470b0c4
---
contrib/basic_archive/basic_archive.c | 4 +--
.../postgres_fdw/expected/postgres_fdw.out | 6 ++--
contrib/postgres_fdw/option.c | 4 +--
src/backend/commands/publicationcmds.c | 2 +-
src/backend/commands/tablecmds.c | 2 +-
src/backend/parser/parse_expr.c | 4 +--
src/backend/parser/parse_jsontable.c | 12 ++++----
src/backend/utils/adt/jsonpath_exec.c | 2 +-
src/backend/utils/adt/jsonpath_gram.y | 2 +-
src/backend/utils/misc/guc.c | 2 +-
src/test/regress/expected/jsonb_sqljson.out | 28 +++++++++----------
src/test/regress/expected/jsonpath.out | 2 +-
src/test/regress/expected/publication.out | 2 +-
src/test/regress/expected/sqljson.out | 10 +++----
src/test/regress/expected/triggers.out | 2 +-
15 files changed, 42 insertions(+), 42 deletions(-)
diff --git a/contrib/basic_archive/basic_archive.c b/contrib/basic_archive/basic_archive.cindex bba767c8f36..776a386e352 100644--- a/contrib/basic_archive/basic_archive.c+++ b/contrib/basic_archive/basic_archive.c@@ -111,7 +111,7 @@ check_archive_directory(char **newval, void **extra, GucSource source)
*/
if (strlen(*newval) + 64 + 2 >= MAXPGPATH)
{
- GUC_check_errdetail("archive directory too long");+ GUC_check_errdetail("Archive directory too long.");
return false;
}
@@ -122,7 +122,7 @@ check_archive_directory(char **newval, void **extra, GucSource source)
*/
if (stat(*newval, &st) != 0 || !S_ISDIR(st.st_mode))
{
- GUC_check_errdetail("specified archive directory does not exist");+ GUC_check_errdetail("Specified archive directory does not exist.");
return false;
}
diff --git a/contrib/postgres_fdw/expected/postgres_fdw.out b/contrib/postgres_fdw/expected/postgres_fdw.outindex ebf9ea35988..ade797159dc 100644--- a/contrib/postgres_fdw/expected/postgres_fdw.out+++ b/contrib/postgres_fdw/expected/postgres_fdw.out@@ -9590,7 +9590,7 @@ HINT: Target server's authentication method must be changed or password_require
-- Unpriv user cannot make the mapping passwordless
ALTER USER MAPPING FOR CURRENT_USER SERVER loopback_nopw OPTIONS (ADD password_required 'false');
ERROR: password_required=false is superuser-only
-HINT: User mappings with the password_required option set to false may only be created or modified by the superuser+HINT: User mappings with the password_required option set to false may only be created or modified by the superuser.
SELECT 1 FROM ft1_nopw LIMIT 1;
ERROR: password is required
DETAIL: Non-superuser cannot connect if the server does not request a password.
@@ -9611,10 +9611,10 @@ SELECT 1 FROM ft1_nopw LIMIT 1;
ALTER USER MAPPING FOR CURRENT_USER SERVER loopback_nopw OPTIONS (SET password_required 'true');
ALTER USER MAPPING FOR CURRENT_USER SERVER loopback_nopw OPTIONS (ADD sslcert 'foo.crt');
ERROR: sslcert and sslkey are superuser-only
-HINT: User mappings with the sslcert or sslkey options set may only be created or modified by the superuser+HINT: User mappings with the sslcert or sslkey options set may only be created or modified by the superuser.
ALTER USER MAPPING FOR CURRENT_USER SERVER loopback_nopw OPTIONS (ADD sslkey 'foo.key');
ERROR: sslcert and sslkey are superuser-only
-HINT: User mappings with the sslcert or sslkey options set may only be created or modified by the superuser+HINT: User mappings with the sslcert or sslkey options set may only be created or modified by the superuser.
-- We're done with the role named after a specific user and need to check the
-- changes to the public mapping.
DROP USER MAPPING FOR CURRENT_USER SERVER loopback_nopw;
diff --git a/contrib/postgres_fdw/option.c b/contrib/postgres_fdw/option.cindex cd2ef234d66..95dde056eba 100644--- a/contrib/postgres_fdw/option.c+++ b/contrib/postgres_fdw/option.c@@ -193,7 +193,7 @@ postgres_fdw_validator(PG_FUNCTION_ARGS)
ereport(ERROR,
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
errmsg("password_required=false is superuser-only"),
- errhint("User mappings with the password_required option set to false may only be created or modified by the superuser")));+ errhint("User mappings with the password_required option set to false may only be created or modified by the superuser.")));
}
else if (strcmp(def->defname, "sslcert") == 0 ||
strcmp(def->defname, "sslkey") == 0)
@@ -203,7 +203,7 @@ postgres_fdw_validator(PG_FUNCTION_ARGS)
ereport(ERROR,
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
errmsg("sslcert and sslkey are superuser-only"),
- errhint("User mappings with the sslcert or sslkey options set may only be created or modified by the superuser")));+ errhint("User mappings with the sslcert or sslkey options set may only be created or modified by the superuser.")));
}
}
diff --git a/src/backend/commands/publicationcmds.c b/src/backend/commands/publicationcmds.cindex 8e645741e4e..89a005540f6 100644--- a/src/backend/commands/publicationcmds.c+++ b/src/backend/commands/publicationcmds.c@@ -743,7 +743,7 @@ CheckPubRelationColumnList(List *tables, const char *queryString,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("cannot use publication column list for relation \"%s\"",
RelationGetRelationName(pri->relation)),
- errdetail("column list cannot be used for a partitioned table when %s is false.",+ errdetail("Column list cannot be used for a partitioned table when %s is false.",
"publish_via_partition_root")));
}
}
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.cindex c5d778c91ba..02a9ffa2c99 100644--- a/src/backend/commands/tablecmds.c+++ b/src/backend/commands/tablecmds.c@@ -17790,7 +17790,7 @@ ATExecAttachPartition(List **wqueue, Relation rel, PartitionCmd *cmd,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("trigger \"%s\" prevents table \"%s\" from becoming a partition",
trigger_name, RelationGetRelationName(attachrel)),
- errdetail("ROW triggers with transition tables are not supported on partitions")));+ errdetail("ROW triggers with transition tables are not supported on partitions.")));
/*
* Check that the new partition's bound is valid and does not overlap any
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.cindex b1cc6a382f1..60fe320ee86 100644--- a/src/backend/parser/parse_expr.c+++ b/src/backend/parser/parse_expr.c@@ -3447,7 +3447,7 @@ checkJsonOutputFormat(ParseState *pstate, const JsonFormat *format,
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("unsupported JSON encoding"),
- errhint("only UTF8 JSON encoding is supported"),+ errhint("Only UTF8 JSON encoding is supported"),
parser_errposition(pstate, format->location)));
}
}
@@ -4580,7 +4580,7 @@ transformJsonSerializeExpr(ParseState *pstate, JsonSerializeExpr *expr)
errmsg("cannot use RETURNING type %s in %s",
format_type_be(returning->typid),
"JSON_SERIALIZE()"),
- errhint("Try returning a string type or bytea")));+ errhint("Try returning a string type or bytea.")));
}
}
else
diff --git a/src/backend/parser/parse_jsontable.c b/src/backend/parser/parse_jsontable.cindex ae559d9cae5..ab82fb93f8f 100644--- a/src/backend/parser/parse_jsontable.c+++ b/src/backend/parser/parse_jsontable.c@@ -141,7 +141,7 @@ registerJsonTableColumn(JsonTableContext *cxt, char *colname)
ereport(ERROR,
(errcode(ERRCODE_DUPLICATE_ALIAS),
errmsg("duplicate JSON_TABLE column name: %s", colname),
- errhint("JSON_TABLE column names must be distinct from one another")));+ errhint("JSON_TABLE column names must be distinct from one another.")));
cxt->pathNames = lappend(cxt->pathNames, colname);
}
@@ -258,7 +258,7 @@ validateJsonTableChildPlan(ParseState *pstate, JsonTablePlan *plan,
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("invalid JSON_TABLE plan"),
- errdetail("plan node for nested path %s was not found in plan", jtc->pathname),+ errdetail("Plan node for nested path %s was not found in plan", jtc->pathname),
parser_errposition(pstate, jtc->location)));
nchildren++;
@@ -269,7 +269,7 @@ validateJsonTableChildPlan(ParseState *pstate, JsonTablePlan *plan,
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("invalid JSON_TABLE plan"),
- errdetail("plan node contains some extra or duplicate sibling nodes"),+ errdetail("Plan node contains some extra or duplicate sibling nodes"),
parser_errposition(pstate, plan ? plan->location : -1)));
}
@@ -385,7 +385,7 @@ transformJsonTableChildPlan(JsonTableContext *cxt, JsonTablePlan *plan,
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("invalid JSON_TABLE plan"),
- errdetail("path name was %s not found in nested columns list",+ errdetail("Path name was %s not found in nested columns list",
plan->pathname),
parser_errposition(cxt->pstate, plan->location)));
@@ -586,7 +586,7 @@ transformJsonTableColumns(JsonTableContext *cxt, JsonTablePlan *plan,
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("invalid JSON_TABLE plan"),
- errdetail("expected INNER or OUTER JSON_TABLE plan node"),+ errdetail("Expected INNER or OUTER JSON_TABLE plan node"),
parser_errposition(cxt->pstate, plan->location)));
parentPlan = plan->plan1;
@@ -605,7 +605,7 @@ transformJsonTableColumns(JsonTableContext *cxt, JsonTablePlan *plan,
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("invalid JSON_TABLE plan"),
- errdetail("path name mismatch: expected %s but %s is given",+ errdetail("Path name mismatch: expected %s but %s is given",
*pathName, parentPlan->pathname),
parser_errposition(cxt->pstate, plan->location)));
diff --git a/src/backend/utils/adt/jsonpath_exec.c b/src/backend/utils/adt/jsonpath_exec.cindex 704d0af8e85..7bcaea2f8e3 100644--- a/src/backend/utils/adt/jsonpath_exec.c+++ b/src/backend/utils/adt/jsonpath_exec.c@@ -2973,7 +2973,7 @@ JsonPathQuery(Datum jb, JsonPath *jp, JsonWrapper wrapper, bool *empty,
(errcode(ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM),
errmsg("JSON path expression in JSON_QUERY should return "
"singleton item without wrapper"),
- errhint("use WITH WRAPPER clause to wrap SQL/JSON item "+ errhint("Use WITH WRAPPER clause to wrap SQL/JSON item "
"sequence into array")));
}
diff --git a/src/backend/utils/adt/jsonpath_gram.y b/src/backend/utils/adt/jsonpath_gram.yindex 57f6beb27bf..3b27745c8f0 100644--- a/src/backend/utils/adt/jsonpath_gram.y+++ b/src/backend/utils/adt/jsonpath_gram.y@@ -526,7 +526,7 @@ makeItemLikeRegex(JsonPathParseItem *expr, JsonPathString *pattern,
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("invalid input syntax for type %s", "jsonpath"),
- errdetail("unrecognized flag character \"%.*s\" in LIKE_REGEX predicate",+ errdetail("Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate",
pg_mblen(flags->val + i), flags->val + i)));
break;
}
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.cindex e936f36c0aa..806025f6ddb 100644--- a/src/backend/utils/misc/guc.c+++ b/src/backend/utils/misc/guc.c@@ -12526,7 +12526,7 @@ check_client_connection_check_interval(int *newval, void **extra, GucSource sour
{
if (!WaitEventSetCanReportClosed() && *newval != 0)
{
- GUC_check_errdetail("client_connection_check_interval must be set to 0 on this platform");+ GUC_check_errdetail("client_connection_check_interval must be set to 0 on this platform.");
return false;
}
return true;
diff --git a/src/test/regress/expected/jsonb_sqljson.out b/src/test/regress/expected/jsonb_sqljson.outindex e2f7df50a87..322e4583016 100644--- a/src/test/regress/expected/jsonb_sqljson.out+++ b/src/test/regress/expected/jsonb_sqljson.out@@ -716,7 +716,7 @@ SELECT JSON_QUERY(jsonb '[]', '$[*]' ERROR ON ERROR);
SELECT JSON_QUERY(jsonb '[1,2]', '$[*]' ERROR ON ERROR);
ERROR: JSON path expression in JSON_QUERY should return singleton item without wrapper
-HINT: use WITH WRAPPER clause to wrap SQL/JSON item sequence into array+HINT: Use WITH WRAPPER clause to wrap SQL/JSON item sequence into array
SELECT JSON_QUERY(jsonb '[1,2]', '$[*]' DEFAULT '"empty"' ON ERROR);
json_query
------------
@@ -1378,7 +1378,7 @@ SELECT * FROM JSON_TABLE(
)
) jt;
ERROR: duplicate JSON_TABLE column name: a
-HINT: JSON_TABLE column names must be distinct from one another+HINT: JSON_TABLE column names must be distinct from one another.
SELECT * FROM JSON_TABLE(
jsonb '[]', '$' AS a
COLUMNS (
@@ -1390,7 +1390,7 @@ SELECT * FROM JSON_TABLE(
)
) jt;
ERROR: duplicate JSON_TABLE column name: a
-HINT: JSON_TABLE column names must be distinct from one another+HINT: JSON_TABLE column names must be distinct from one another.
SELECT * FROM JSON_TABLE(
jsonb '[]', '$'
COLUMNS (
@@ -1402,7 +1402,7 @@ SELECT * FROM JSON_TABLE(
)
) jt;
ERROR: duplicate JSON_TABLE column name: b
-HINT: JSON_TABLE column names must be distinct from one another+HINT: JSON_TABLE column names must be distinct from one another.
SELECT * FROM JSON_TABLE(
jsonb '[]', '$'
COLUMNS (
@@ -1420,7 +1420,7 @@ SELECT * FROM JSON_TABLE(
)
) jt;
ERROR: duplicate JSON_TABLE column name: a
-HINT: JSON_TABLE column names must be distinct from one another+HINT: JSON_TABLE column names must be distinct from one another.
-- JSON_TABLE: plan validation
SELECT * FROM JSON_TABLE(
jsonb 'null', '$[*]' AS p0
@@ -1438,7 +1438,7 @@ SELECT * FROM JSON_TABLE(
ERROR: invalid JSON_TABLE plan
LINE 12: PLAN (p1)
^
-DETAIL: path name mismatch: expected p0 but p1 is given+DETAIL: Path name mismatch: expected p0 but p1 is given
SELECT * FROM JSON_TABLE(
jsonb 'null', '$[*]' AS p0
COLUMNS (
@@ -1455,7 +1455,7 @@ SELECT * FROM JSON_TABLE(
ERROR: invalid JSON_TABLE plan
LINE 4: NESTED PATH '$' AS p1 COLUMNS (
^
-DETAIL: plan node for nested path p1 was not found in plan+DETAIL: Plan node for nested path p1 was not found in plan
SELECT * FROM JSON_TABLE(
jsonb 'null', '$[*]' AS p0
COLUMNS (
@@ -1472,7 +1472,7 @@ SELECT * FROM JSON_TABLE(
ERROR: invalid JSON_TABLE plan
LINE 4: NESTED PATH '$' AS p1 COLUMNS (
^
-DETAIL: plan node for nested path p1 was not found in plan+DETAIL: Plan node for nested path p1 was not found in plan
SELECT * FROM JSON_TABLE(
jsonb 'null', '$[*]' AS p0
COLUMNS (
@@ -1489,7 +1489,7 @@ SELECT * FROM JSON_TABLE(
ERROR: invalid JSON_TABLE plan
LINE 12: PLAN (p0 UNION p1 UNION p11)
^
-DETAIL: expected INNER or OUTER JSON_TABLE plan node+DETAIL: Expected INNER or OUTER JSON_TABLE plan node
SELECT * FROM JSON_TABLE(
jsonb 'null', '$[*]' AS p0
COLUMNS (
@@ -1506,7 +1506,7 @@ SELECT * FROM JSON_TABLE(
ERROR: invalid JSON_TABLE plan
LINE 8: NESTED PATH '$' AS p2 COLUMNS (
^
-DETAIL: plan node for nested path p2 was not found in plan+DETAIL: Plan node for nested path p2 was not found in plan
SELECT * FROM JSON_TABLE(
jsonb 'null', '$[*]' AS p0
COLUMNS (
@@ -1523,7 +1523,7 @@ SELECT * FROM JSON_TABLE(
ERROR: invalid JSON_TABLE plan
LINE 5: NESTED PATH '$' AS p11 COLUMNS ( foo int ),
^
-DETAIL: plan node for nested path p11 was not found in plan+DETAIL: Plan node for nested path p11 was not found in plan
SELECT * FROM JSON_TABLE(
jsonb 'null', '$[*]' AS p0
COLUMNS (
@@ -1540,7 +1540,7 @@ SELECT * FROM JSON_TABLE(
ERROR: invalid JSON_TABLE plan
LINE 12: PLAN (p0 OUTER ((p1 UNION p11) CROSS p2))
^
-DETAIL: plan node contains some extra or duplicate sibling nodes+DETAIL: Plan node contains some extra or duplicate sibling nodes
SELECT * FROM JSON_TABLE(
jsonb 'null', '$[*]' AS p0
COLUMNS (
@@ -1557,7 +1557,7 @@ SELECT * FROM JSON_TABLE(
ERROR: invalid JSON_TABLE plan
LINE 6: NESTED PATH '$' AS p12 COLUMNS ( bar int )
^
-DETAIL: plan node for nested path p12 was not found in plan+DETAIL: Plan node for nested path p12 was not found in plan
SELECT * FROM JSON_TABLE(
jsonb 'null', '$[*]' AS p0
COLUMNS (
@@ -1574,7 +1574,7 @@ SELECT * FROM JSON_TABLE(
ERROR: invalid JSON_TABLE plan
LINE 9: NESTED PATH '$' AS p21 COLUMNS ( baz int )
^
-DETAIL: plan node for nested path p21 was not found in plan+DETAIL: Plan node for nested path p21 was not found in plan
SELECT * FROM JSON_TABLE(
jsonb 'null', 'strict $[*]' AS p0
COLUMNS (
diff --git a/src/test/regress/expected/jsonpath.out b/src/test/regress/expected/jsonpath.outindex 88eb22a4e9c..21c5c6104d6 100644--- a/src/test/regress/expected/jsonpath.out+++ b/src/test/regress/expected/jsonpath.out@@ -477,7 +477,7 @@ select '$ ? (@ like_regex "pattern" flag "a")'::jsonpath;
ERROR: invalid input syntax for type jsonpath
LINE 1: select '$ ? (@ like_regex "pattern" flag "a")'::jsonpath;
^
-DETAIL: unrecognized flag character "a" in LIKE_REGEX predicate+DETAIL: Unrecognized flag character "a" in LIKE_REGEX predicate
select '$ < 1'::jsonpath;
jsonpath
----------
diff --git a/src/test/regress/expected/publication.out b/src/test/regress/expected/publication.outindex 274b37dfe57..428c1f16c7c 100644--- a/src/test/regress/expected/publication.out+++ b/src/test/regress/expected/publication.out@@ -940,7 +940,7 @@ ALTER PUBLICATION testpub6 SET (PUBLISH_VIA_PARTITION_ROOT=0);
-- fail - cannot use column list for partitioned table
ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk (a);
ERROR: cannot use publication column list for relation "rf_tbl_abcd_part_pk"
-DETAIL: column list cannot be used for a partitioned table when publish_via_partition_root is false.+DETAIL: Column list cannot be used for a partitioned table when publish_via_partition_root is false.
-- ok - can use column list for partition
ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk_1 (a);
-- ok - "a" is a PK col
diff --git a/src/test/regress/expected/sqljson.out b/src/test/regress/expected/sqljson.outindex aae4ba49390..d4a5ef145d7 100644--- a/src/test/regress/expected/sqljson.out+++ b/src/test/regress/expected/sqljson.out@@ -317,7 +317,7 @@ SELECT pg_typeof(JSON_SERIALIZE(NULL));
-- only string types or bytea allowed
SELECT JSON_SERIALIZE('{ "a" : 1 } ' RETURNING jsonb);
ERROR: cannot use RETURNING type jsonb in JSON_SERIALIZE()
-HINT: Try returning a string type or bytea+HINT: Try returning a string type or bytea.
EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_SERIALIZE('{}');
QUERY PLAN
-----------------------------------------------------
@@ -403,12 +403,12 @@ SELECT JSON_OBJECT(RETURNING bytea FORMAT JSON ENCODING UTF16);
ERROR: unsupported JSON encoding
LINE 1: SELECT JSON_OBJECT(RETURNING bytea FORMAT JSON ENCODING UTF1...
^
-HINT: only UTF8 JSON encoding is supported+HINT: Only UTF8 JSON encoding is supported
SELECT JSON_OBJECT(RETURNING bytea FORMAT JSON ENCODING UTF32);
ERROR: unsupported JSON encoding
LINE 1: SELECT JSON_OBJECT(RETURNING bytea FORMAT JSON ENCODING UTF3...
^
-HINT: only UTF8 JSON encoding is supported+HINT: Only UTF8 JSON encoding is supported
SELECT JSON_OBJECT('foo': NULL::int FORMAT JSON);
ERROR: cannot use non-string types with explicit FORMAT JSON clause
LINE 1: SELECT JSON_OBJECT('foo': NULL::int FORMAT JSON);
@@ -691,12 +691,12 @@ SELECT JSON_ARRAY(RETURNING bytea FORMAT JSON ENCODING UTF16);
ERROR: unsupported JSON encoding
LINE 1: SELECT JSON_ARRAY(RETURNING bytea FORMAT JSON ENCODING UTF16...
^
-HINT: only UTF8 JSON encoding is supported+HINT: Only UTF8 JSON encoding is supported
SELECT JSON_ARRAY(RETURNING bytea FORMAT JSON ENCODING UTF32);
ERROR: unsupported JSON encoding
LINE 1: SELECT JSON_ARRAY(RETURNING bytea FORMAT JSON ENCODING UTF32...
^
-HINT: only UTF8 JSON encoding is supported+HINT: Only UTF8 JSON encoding is supported
SELECT JSON_ARRAY('aaa', 111, true, array[1,2,3], NULL, json '{"a": [1]}', jsonb '["a",3]');
json_array
-----------------------------------------------------
diff --git a/src/test/regress/expected/triggers.out b/src/test/regress/expected/triggers.outindex cd812336f2c..89a34ffbb2d 100644--- a/src/test/regress/expected/triggers.out+++ b/src/test/regress/expected/triggers.out@@ -2951,7 +2951,7 @@ create trigger child_row_trig
-- but now we're not allowed to reattach it
alter table parent attach partition child for values in ('AAA');
ERROR: trigger "child_row_trig" prevents table "child" from becoming a partition
-DETAIL: ROW triggers with transition tables are not supported on partitions+DETAIL: ROW triggers with transition tables are not supported on partitions.
-- drop the trigger, and now we're allowed to attach it again
drop trigger child_row_trig on child;
alter table parent attach partition child for values in ('AAA');
--
2.17.1
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: pgsql-hackers@postgresql.org
Cc: pryzby@telsasoft.com, pgsql-hackers@lists.postgresql.org
Subject: Re: errdetail/errhint style
In-Reply-To: <20220719120948.GF12702@telsasoft.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox