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[email protected]
Backpatch-through: 15
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")));
}
}
-- 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