From 17872d6d2a7442c5182e58edb1faa68fd38e2895 Mon Sep 17 00:00:00 2001 From: Shihao Date: Fri, 18 Sep 2026 23:15:03 -0400 Subject: [PATCH v1 2/2] Add tests for JSON_SERIALIZE() with a jsonb argument Cover the default RETURNING type, bytea, a varchar that is too short, and a NULL input. --- src/test/regress/expected/sqljson.out | 21 +++++++++++++++++++++ src/test/regress/sql/sqljson.sql | 6 ++++++ 2 files changed, 27 insertions(+) diff --git a/src/test/regress/expected/sqljson.out b/src/test/regress/expected/sqljson.out index 30f9e10ef0a..12353d68686 100644 --- a/src/test/regress/expected/sqljson.out +++ b/src/test/regress/expected/sqljson.out @@ -270,6 +270,27 @@ SELECT pg_typeof(JSON_SERIALIZE(NULL)); text (1 row) +-- jsonb input +SELECT JSON_SERIALIZE('{"b": [1, 2], "a": "x"}'::jsonb); + json_serialize +------------------------- + {"a": "x", "b": [1, 2]} +(1 row) + +SELECT JSON_SERIALIZE('[1, 2, 4]'::jsonb RETURNING bytea); + json_serialize +---------------------- + \x5b312c20322c20345d +(1 row) + +SELECT JSON_SERIALIZE('[1, 2, 4]'::jsonb RETURNING varchar(3)); +ERROR: value too long for type character varying(3) +SELECT JSON_SERIALIZE(NULL::jsonb); + json_serialize +---------------- + +(1 row) + -- only string types or bytea allowed SELECT JSON_SERIALIZE('{ "a" : 1 } ' RETURNING jsonb); ERROR: cannot use type jsonb in RETURNING clause of JSON_SERIALIZE() diff --git a/src/test/regress/sql/sqljson.sql b/src/test/regress/sql/sqljson.sql index 9fa203ccb53..43ef31b7e8b 100644 --- a/src/test/regress/sql/sqljson.sql +++ b/src/test/regress/sql/sqljson.sql @@ -55,6 +55,12 @@ SELECT JSON_SERIALIZE('{ "a" : 1 } ' RETURNING bytea); SELECT JSON_SERIALIZE('{ "a" : 1 } ' RETURNING varchar); SELECT pg_typeof(JSON_SERIALIZE(NULL)); +-- jsonb input +SELECT JSON_SERIALIZE('{"b": [1, 2], "a": "x"}'::jsonb); +SELECT JSON_SERIALIZE('[1, 2, 4]'::jsonb RETURNING bytea); +SELECT JSON_SERIALIZE('[1, 2, 4]'::jsonb RETURNING varchar(3)); +SELECT JSON_SERIALIZE(NULL::jsonb); + -- only string types or bytea allowed SELECT JSON_SERIALIZE('{ "a" : 1 } ' RETURNING jsonb); -- 2.37.1 (Apple Git-137.1)