@@ -87,11 +87,11 @@ SELECT JSON_VALUE(jsonb '{}', '$' ERROR ON ERROR);
87
87
SELECT JSON_VALUE(jsonb ' 1' , ' $.a' );
88
88
SELECT JSON_VALUE(jsonb ' 1' , ' strict $.a' ERROR ON ERROR);
89
89
SELECT JSON_VALUE(jsonb ' 1' , ' strict $.a' DEFAULT ' error' ON ERROR);
90
- SELECT JSON_VALUE(jsonb ' 1' , ' lax $.a' ERROR ON ERROR);
90
+ SELECT JSON_VALUE(jsonb ' 1' , ' lax $.a' ERROR ON ERROR); -- NULL ON EMPTY
91
91
SELECT JSON_VALUE(jsonb ' 1' , ' lax $.a' ERROR ON EMPTY ERROR ON ERROR);
92
- SELECT JSON_VALUE(jsonb ' 1' , ' strict $.a ' DEFAULT 2 ON ERROR);
92
+ SELECT JSON_VALUE(jsonb ' 1' , ' strict $.* ' DEFAULT 2 ON ERROR);
93
93
SELECT JSON_VALUE(jsonb ' 1' , ' lax $.a' DEFAULT 2 ON ERROR);
94
- SELECT JSON_VALUE(jsonb ' 1' , ' lax $.a' DEFAULT ' 2' ON ERROR );
94
+ SELECT JSON_VALUE(jsonb ' 1' , ' lax $.a' DEFAULT ' 2' ON EMPTY );
95
95
SELECT JSON_VALUE(jsonb ' 1' , ' lax $.a' NULL ON EMPTY DEFAULT ' 2' ON ERROR);
96
96
SELECT JSON_VALUE(jsonb ' 1' , ' lax $.a' DEFAULT ' 2' ON EMPTY DEFAULT ' 3' ON ERROR);
97
97
SELECT JSON_VALUE(jsonb ' 1' , ' lax $.a' ERROR ON EMPTY DEFAULT ' 3' ON ERROR);
@@ -224,7 +224,7 @@ SELECT JSON_QUERY(jsonb '[]', '$[*]' ERROR ON EMPTY NULL ON ERROR);
224
224
SELECT JSON_QUERY(jsonb ' []' , ' $[*]' ERROR ON EMPTY EMPTY ARRAY ON ERROR);
225
225
SELECT JSON_QUERY(jsonb ' []' , ' $[*]' ERROR ON EMPTY EMPTY OBJECT ON ERROR);
226
226
SELECT JSON_QUERY(jsonb ' []' , ' $[*]' ERROR ON EMPTY ERROR ON ERROR);
227
- SELECT JSON_QUERY(jsonb ' []' , ' $[*]' ERROR ON ERROR);
227
+ SELECT JSON_QUERY(jsonb ' []' , ' $[*]' ERROR ON ERROR); -- NULL ON EMPTY
228
228
229
229
SELECT JSON_QUERY(jsonb ' [1,2]' , ' $[*]' ERROR ON ERROR);
230
230
SELECT JSON_QUERY(jsonb ' [1,2]' , ' $[*]' DEFAULT ' "empty"' ON ERROR);
@@ -304,7 +304,7 @@ SELECT * FROM unnest(JSON_QUERY(jsonb '[{"a": 1, "t": ["foo", []]}, {"a": 2, "jb
304
304
-- Extension: domain types returning
305
305
SELECT JSON_QUERY(jsonb ' {"a": 1}' , ' $.a' RETURNING sqljsonb_int_not_null);
306
306
SELECT JSON_QUERY(jsonb ' {"a": 1}' , ' $.b' RETURNING sqljsonb_int_not_null);
307
- SELECT JSON_QUERY(jsonb ' {"a": 1}' , ' $.b' RETURNING sqljsonb_int_not_null ERROR ON ERROR);
307
+ SELECT JSON_QUERY(jsonb ' {"a": 1}' , ' $.b' RETURNING sqljsonb_int_not_null ERROR ON EMPTY ERROR ON ERROR);
308
308
309
309
-- Test timestamptz passing and output
310
310
SELECT JSON_QUERY(jsonb ' null' , ' $ts' PASSING timestamptz ' 2018-02-21 12:34:56 +10' AS ts);
@@ -412,10 +412,10 @@ DROP TABLE test_jsonb_mutability;
412
412
DROP FUNCTION ret_setint;
413
413
414
414
CREATE DOMAIN queryfuncs_test_domain AS text CHECK (value <> ' foo' );
415
- SELECT JSON_VALUE(jsonb ' {"d1": "H"}' , ' $.a2' RETURNING queryfuncs_test_domain DEFAULT ' foo' ::queryfuncs_test_domain ON ERROR );
416
- SELECT JSON_VALUE(jsonb ' {"d1": "H"}' , ' $.a2' RETURNING queryfuncs_test_domain DEFAULT ' foo1' ::queryfuncs_test_domain ON ERROR );
417
- SELECT JSON_VALUE(jsonb ' {"d1": "H"}' , ' $.a2' RETURNING queryfuncs_test_domain DEFAULT ' "foo1"' ::jsonb::text ON ERROR );
418
- SELECT JSON_VALUE(jsonb ' {"d1": "foo"}' , ' $.a2' RETURNING queryfuncs_test_domain DEFAULT ' foo1' ::queryfuncs_test_domain ON ERROR );
415
+ SELECT JSON_VALUE(jsonb ' {"d1": "H"}' , ' $.a2' RETURNING queryfuncs_test_domain DEFAULT ' foo' ::queryfuncs_test_domain ON EMPTY );
416
+ SELECT JSON_VALUE(jsonb ' {"d1": "H"}' , ' $.a2' RETURNING queryfuncs_test_domain DEFAULT ' foo1' ::queryfuncs_test_domain ON EMPTY );
417
+ SELECT JSON_VALUE(jsonb ' {"d1": "H"}' , ' $.a2' RETURNING queryfuncs_test_domain DEFAULT ' "foo1"' ::jsonb::text ON EMPTY );
418
+ SELECT JSON_VALUE(jsonb ' {"d1": "foo"}' , ' $.a2' RETURNING queryfuncs_test_domain DEFAULT ' foo1' ::queryfuncs_test_domain ON EMPTY );
419
419
420
420
-- Check the cases where a coercion-related expression is masking an
421
421
-- unsupported expressions
0 commit comments