diff options
author | Michael Paquier <michael@paquier.xyz> | 2022-07-11 11:20:15 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2022-07-11 11:20:15 +0900 |
commit | 0a6be1f0ec3cc9b98453bdab2d4edcfd5a00c7fa (patch) | |
tree | 41a7f6103fe12086f14294531b5a7ec1bf911ba9 /src | |
parent | 8445f5a21d40b969673ca03918c74b4fbc882bf4 (diff) | |
download | postgresql-0a6be1f0ec3cc9b98453bdab2d4edcfd5a00c7fa.tar.gz postgresql-0a6be1f0ec3cc9b98453bdab2d4edcfd5a00c7fa.zip |
Improve error message with JSON_SERIALIZE()
The error message introduced in 3c633f3 can share the same format string
with an existing message used for JSON(), reducing the translation
effort.
Author: Kyotaro Horiguchi
Discussion: https://postgr.es/m/20220708.154135.2123613118233840495.horikyota.ntt@gmail.com
Backpatch-through: 15
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/parser/parse_expr.c | 5 | ||||
-rw-r--r-- | src/test/regress/expected/sqljson.out | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index efcf1cd5abc..1dbdba93daa 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -4587,8 +4587,9 @@ transformJsonSerializeExpr(ParseState *pstate, JsonSerializeExpr *expr) if (typcategory != TYPCATEGORY_STRING) ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), - errmsg("cannot use RETURNING type %s in JSON_SERIALIZE", - format_type_be(returning->typid)), + errmsg("cannot use RETURNING type %s in %s", + format_type_be(returning->typid), + "JSON_SERIALIZE()"), errhint("Try returning a string type or bytea"))); } } diff --git a/src/test/regress/expected/sqljson.out b/src/test/regress/expected/sqljson.out index be27bce9d32..aae4ba49390 100644 --- a/src/test/regress/expected/sqljson.out +++ b/src/test/regress/expected/sqljson.out @@ -316,7 +316,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 +ERROR: cannot use RETURNING type jsonb in JSON_SERIALIZE() HINT: Try returning a string type or bytea EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_SERIALIZE('{}'); QUERY PLAN |