pgsql: Only allow returning string types or bytea from json_serialize
Only allow returning string types or bytea from json_serialize
These are documented to be the allowed types for the RETURNING clause,
but the restriction was not being enforced, which caused a segfault if
another type was specified. Add some testing for this.
Per report from a.kozhemyakin
Backpatch to release 15.
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/3c633f32b9c712cc0b4c8d946f0eeae04a3ff51a
Modified Files
--------------
src/backend/parser/parse_expr.c | 17 +++++++++++++++++
src/test/regress/expected/sqljson.out | 10 ++++++++++
src/test/regress/sql/sqljson.sql | 5 +++++
3 files changed, 32 insertions(+)
At Thu, 07 Jul 2022 21:46:12 +0000, Andrew Dunstan <andrew@dunslane.net> wrote in
Only allow returning string types or bytea from json_serialize
I noticed that this introcues the following error message.
+ errmsg("cannot use RETURNING type %s in JSON_SERIALIZE"
+ format_type_be(returning->typid)),
However, the same file has the following error message.
errmsg("cannot use RETURNING type %s in %s",
format_type_be(returning->typid), fname),
So, couldn't we share the format string to reduce translatable
messages?
And, the other messages are
cannot use RETURNING type %s in JSON_SCALAR(), and
cannot use RETURNING type %s in JSON()
So, I think this should not be
cannot use RETURNING type %s in JSON_SERIALIZE
, but should be
cannot use RETURNING type %s in JSON_SERIALIZE()
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center
Attachments:
0001-Fix-an-error-message.patchtext/x-patch; charset=us-asciiDownload+4-4
On Fri, Jul 08, 2022 at 03:41:35PM +0900, Kyotaro Horiguchi wrote:
I noticed that this introcues the following error message.
+ errmsg("cannot use RETURNING type %s in JSON_SERIALIZE" + format_type_be(returning->typid)),However, the same file has the following error message.
errmsg("cannot use RETURNING type %s in %s",
format_type_be(returning->typid), fname),So, couldn't we share the format string to reduce translatable
messages?
Yeah, I think that you are right, so let's fix this. If Andrew does
not show up, I'll take care of it.
--
Michael
On Fri, Jul 08, 2022 at 07:20:14PM +0900, Michael Paquier wrote:
Yeah, I think that you are right, so let's fix this. If Andrew does
not show up, I'll take care of it.
Okay, this one is done, then. Thanks for the patch, Horiguchi-san.
--
Michael
At Mon, 11 Jul 2022 12:49:11 +0900, Michael Paquier <michael@paquier.xyz> wrote in
On Fri, Jul 08, 2022 at 07:20:14PM +0900, Michael Paquier wrote:
Yeah, I think that you are right, so let's fix this. If Andrew does
not show up, I'll take care of it.Okay, this one is done, then. Thanks for the patch, Horiguchi-san.
Thanks!
(I came to notice that I sent the mail only to -commiters..)
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center