@@ -541,11 +541,11 @@ SELECT JSON_VALUE(NULL::jsonb, '$');
541541(1 row)
542542
543543SELECT
544- JSON_QUERY(js, '$'),
545- JSON_QUERY(js, '$' WITHOUT WRAPPER),
546- JSON_QUERY(js, '$' WITH CONDITIONAL WRAPPER),
547- JSON_QUERY(js, '$' WITH UNCONDITIONAL ARRAY WRAPPER),
548- JSON_QUERY(js, '$' WITH ARRAY WRAPPER)
544+ JSON_QUERY(js, '$') AS "unspec" ,
545+ JSON_QUERY(js, '$' WITHOUT WRAPPER) AS "without" ,
546+ JSON_QUERY(js, '$' WITH CONDITIONAL WRAPPER) AS "with cond" ,
547+ JSON_QUERY(js, '$' WITH UNCONDITIONAL ARRAY WRAPPER) AS "with uncond" ,
548+ JSON_QUERY(js, '$' WITH ARRAY WRAPPER) AS "with"
549549FROM
550550 (VALUES
551551 (jsonb 'null'),
@@ -555,12 +555,12 @@ FROM
555555 ('[1, null, "2"]'),
556556 ('{"a": 1, "b": [2]}')
557557 ) foo(js);
558- json_query | json_query | json_query | json_query | json_query
558+ unspec | without | with cond | with uncond | with
559559--------------------+--------------------+--------------------+----------------------+----------------------
560- null | null | [ null] | [null] | [null]
561- 12.3 | 12.3 | [ 12.3] | [12.3] | [12.3]
562- true | true | [ true] | [true] | [true]
563- "aaa" | "aaa" | [ "aaa"] | ["aaa"] | ["aaa"]
560+ null | null | null | [null] | [null]
561+ 12.3 | 12.3 | 12.3 | [12.3] | [12.3]
562+ true | true | true | [true] | [true]
563+ "aaa" | "aaa" | "aaa" | ["aaa"] | ["aaa"]
564564 [1, null, "2"] | [1, null, "2"] | [1, null, "2"] | [[1, null, "2"]] | [[1, null, "2"]]
565565 {"a": 1, "b": [2]} | {"a": 1, "b": [2]} | {"a": 1, "b": [2]} | [{"a": 1, "b": [2]}] | [{"a": 1, "b": [2]}]
566566(6 rows)
@@ -587,10 +587,10 @@ FROM
587587--------------------+--------------------+---------------------+----------------------+----------------------
588588 | | | |
589589 | | | |
590- null | null | [ null] | [null] | [null]
591- 12.3 | 12.3 | [ 12.3] | [12.3] | [12.3]
592- true | true | [ true] | [true] | [true]
593- "aaa" | "aaa" | [ "aaa"] | ["aaa"] | ["aaa"]
590+ null | null | null | [null] | [null]
591+ 12.3 | 12.3 | 12.3 | [12.3] | [12.3]
592+ true | true | true | [true] | [true]
593+ "aaa" | "aaa" | "aaa" | ["aaa"] | ["aaa"]
594594 [1, 2, 3] | [1, 2, 3] | [1, 2, 3] | [[1, 2, 3]] | [[1, 2, 3]]
595595 {"a": 1, "b": [2]} | {"a": 1, "b": [2]} | {"a": 1, "b": [2]} | [{"a": 1, "b": [2]}] | [{"a": 1, "b": [2]}]
596596 | | [1, "2", null, [3]] | [1, "2", null, [3]] | [1, "2", null, [3]]
@@ -681,7 +681,7 @@ LINE 1: SELECT JSON_QUERY(jsonb '[1]', '$' WITH CONDITIONAL WRAPPER ...
681681SELECT JSON_QUERY(jsonb '["1"]', '$[*]' WITH CONDITIONAL WRAPPER KEEP QUOTES);
682682 json_query
683683------------
684- [ "1"]
684+ "1"
685685(1 row)
686686
687687SELECT JSON_QUERY(jsonb '["1"]', '$[*]' WITH UNCONDITIONAL WRAPPER KEEP QUOTES);
@@ -940,30 +940,30 @@ FROM
940940 x | y | list
941941---+---+--------------
942942 0 | 0 | []
943- 0 | 1 | [1]
943+ 0 | 1 | 1
944944 0 | 2 | [1, 2]
945945 0 | 3 | [1, 2, 3]
946946 0 | 4 | [1, 2, 3, 4]
947947 1 | 0 | []
948- 1 | 1 | [1]
948+ 1 | 1 | 1
949949 1 | 2 | [1, 2]
950950 1 | 3 | [1, 2, 3]
951951 1 | 4 | [1, 2, 3, 4]
952952 2 | 0 | []
953953 2 | 1 | []
954- 2 | 2 | [2]
954+ 2 | 2 | 2
955955 2 | 3 | [2, 3]
956956 2 | 4 | [2, 3, 4]
957957 3 | 0 | []
958958 3 | 1 | []
959959 3 | 2 | []
960- 3 | 3 | [3]
960+ 3 | 3 | 3
961961 3 | 4 | [3, 4]
962962 4 | 0 | []
963963 4 | 1 | []
964964 4 | 2 | []
965965 4 | 3 | []
966- 4 | 4 | [4]
966+ 4 | 4 | 4
967967(25 rows)
968968
969969-- record type returning with quotes behavior.
@@ -1088,7 +1088,7 @@ CREATE TABLE test_jsonb_constraints (
10881088 CONSTRAINT test_jsonb_constraint3
10891089 CHECK (JSON_VALUE(js::jsonb, '$.a' RETURNING int DEFAULT '12' ON EMPTY ERROR ON ERROR) > i)
10901090 CONSTRAINT test_jsonb_constraint4
1091- CHECK (JSON_QUERY(js::jsonb, '$.a' WITH CONDITIONAL WRAPPER EMPTY OBJECT ON ERROR) < jsonb '[10]')
1091+ CHECK (JSON_QUERY(js::jsonb, '$.a' WITH CONDITIONAL WRAPPER EMPTY OBJECT ON ERROR) = jsonb '[10]')
10921092 CONSTRAINT test_jsonb_constraint5
10931093 CHECK (JSON_QUERY(js::jsonb, '$.a' RETURNING char(5) OMIT QUOTES EMPTY ARRAY ON EMPTY) > 'a' COLLATE "C")
10941094);
@@ -1103,7 +1103,7 @@ Check constraints:
11031103 "test_jsonb_constraint1" CHECK (js IS JSON)
11041104 "test_jsonb_constraint2" CHECK (JSON_EXISTS(js::jsonb, '$."a"' PASSING i + 5 AS int, i::text AS txt, ARRAY[1, 2, 3] AS arr))
11051105 "test_jsonb_constraint3" CHECK (JSON_VALUE(js::jsonb, '$."a"' RETURNING integer DEFAULT 12 ON EMPTY ERROR ON ERROR) > i)
1106- "test_jsonb_constraint4" CHECK (JSON_QUERY(js::jsonb, '$."a"' RETURNING jsonb WITH CONDITIONAL WRAPPER KEEP QUOTES EMPTY OBJECT ON ERROR) < '[10]'::jsonb)
1106+ "test_jsonb_constraint4" CHECK (JSON_QUERY(js::jsonb, '$."a"' RETURNING jsonb WITH CONDITIONAL WRAPPER KEEP QUOTES EMPTY OBJECT ON ERROR) = '[10]'::jsonb)
11071107 "test_jsonb_constraint5" CHECK (JSON_QUERY(js::jsonb, '$."a"' RETURNING character(5) WITHOUT WRAPPER OMIT QUOTES EMPTY ARRAY ON EMPTY) > ('a'::bpchar COLLATE "C"))
11081108
11091109SELECT check_clause
@@ -1113,7 +1113,7 @@ ORDER BY 1;
11131113 check_clause
11141114----------------------------------------------------------------------------------------------------------------------------------------
11151115 (JSON_QUERY((js)::jsonb, '$."a"' RETURNING character(5) WITHOUT WRAPPER OMIT QUOTES EMPTY ARRAY ON EMPTY) > ('a'::bpchar COLLATE "C"))
1116- (JSON_QUERY((js)::jsonb, '$."a"' RETURNING jsonb WITH CONDITIONAL WRAPPER KEEP QUOTES EMPTY OBJECT ON ERROR) < '[10]'::jsonb)
1116+ (JSON_QUERY((js)::jsonb, '$."a"' RETURNING jsonb WITH CONDITIONAL WRAPPER KEEP QUOTES EMPTY OBJECT ON ERROR) = '[10]'::jsonb)
11171117 (JSON_VALUE((js)::jsonb, '$."a"' RETURNING integer DEFAULT 12 ON EMPTY ERROR ON ERROR) > i)
11181118 (js IS JSON)
11191119 JSON_EXISTS((js)::jsonb, '$."a"' PASSING (i + 5) AS int, (i)::text AS txt, ARRAY[1, 2, 3] AS arr)
@@ -1143,9 +1143,6 @@ DETAIL: Failing row contains ({"b": 1}, 1, [1, 2]).
11431143INSERT INTO test_jsonb_constraints VALUES ('{"a": 1}', 1);
11441144ERROR: new row for relation "test_jsonb_constraints" violates check constraint "test_jsonb_constraint3"
11451145DETAIL: Failing row contains ({"a": 1}, 1, [1, 2]).
1146- INSERT INTO test_jsonb_constraints VALUES ('{"a": 7}', 1);
1147- ERROR: new row for relation "test_jsonb_constraints" violates check constraint "test_jsonb_constraint5"
1148- DETAIL: Failing row contains ({"a": 7}, 1, [1, 2]).
11491146INSERT INTO test_jsonb_constraints VALUES ('{"a": 10}', 1);
11501147ERROR: new row for relation "test_jsonb_constraints" violates check constraint "test_jsonb_constraint4"
11511148DETAIL: Failing row contains ({"a": 10}, 1, [1, 2]).
0 commit comments