|
| 1 | +-- SQL/JSON constructors |
| 2 | +SELECT JSON_OBJECT(); |
| 3 | +SELECT JSON_OBJECT(RETURNING json); |
| 4 | +SELECT JSON_OBJECT(RETURNING jsonb); |
| 5 | +SELECT JSON_OBJECT(RETURNING text FORMAT JSON); |
| 6 | +SELECT JSON_OBJECT(RETURNING bytea FORMAT JSON ENCODING UTF8); |
| 7 | +SELECT JSON_OBJECT('foo': NULL::int FORMAT JSON); |
| 8 | +SELECT JSON_OBJECT('foo': 1, 'bar': 'baz'); |
| 9 | +SELECT JSON_OBJECT('foo' VALUE 1, 'bar' VALUE 'baz'); |
| 10 | +SELECT JSON_OBJECT('a': 1 ABSENT ON NULL); |
| 11 | +SELECT JSON_OBJECT('a': 1 NULL ON NULL); |
| 12 | +SELECT JSON_OBJECT('a': 1, 'a': 2 WITH UNIQUE KEYS); |
| 13 | +SELECT JSON_OBJECT('a': 1, 'a': 2 WITHOUT UNIQUE KEYS); |
| 14 | +SELECT JSON_OBJECT('a': 1, 'b': 2 ABSENT ON NULL WITH UNIQUE KEYS RETURNING jsonb); |
| 15 | +SELECT JSON_OBJECT('a': '{"b": 1}' FORMAT JSON); |
| 16 | +SELECT JSON_OBJECT('a': '{"b": 1}' FORMAT JSON RETURNING jsonb); |
| 17 | +SELECT JSON_ARRAY(); |
| 18 | +SELECT JSON_ARRAY(RETURNING jsonb); |
| 19 | +SELECT JSON_ARRAY(1, 2, 'a'); |
| 20 | +SELECT JSON_ARRAY(1, NULL, 2 NULL ON NULL); |
| 21 | +SELECT JSON_ARRAY(1, NULL, 2 ABSENT ON NULL); |
| 22 | +SELECT JSON_ARRAY('{"a": 1}' FORMAT JSON, 2 RETURNING jsonb); |
| 23 | +SELECT JSON_ARRAY(SELECT i FROM (VALUES (1), (2), (NULL), (4)) foo(i)); |
| 24 | +SELECT JSON_ARRAY(SELECT i FROM (VALUES (1), (2)) foo(i) RETURNING jsonb); |
| 25 | +SELECT JSON_ARRAY(SELECT i FROM (VALUES (3), (1)) foo(i) ORDER BY i); |
| 26 | +SELECT JSON_ARRAY(SELECT i FROM (VALUES ('[1]')) foo(i) FORMAT JSON RETURNING text); |
| 27 | +SELECT JSON('{"a": 1}'); |
| 28 | +SELECT JSON('{"a": 1}' WITH UNIQUE KEYS); |
| 29 | +SELECT JSON('{"a": 1}' WITHOUT UNIQUE KEYS); |
| 30 | +SELECT JSON('{"a": 1}'::bytea FORMAT JSON ENCODING UTF8); |
| 31 | +SELECT JSON_SCALAR(1); |
| 32 | +SELECT JSON_SCALAR('text'); |
| 33 | +SELECT JSON_SCALAR(NULL::int); |
| 34 | +SELECT JSON_SERIALIZE('{"a": 1}'); |
| 35 | +SELECT JSON_SERIALIZE('{"a": 1}' FORMAT JSON); |
| 36 | +SELECT JSON_SERIALIZE('{"a": 1}'::jsonb RETURNING bytea); |
| 37 | +SELECT JSON_SERIALIZE('{"a": 1}' RETURNING bytea FORMAT JSON ENCODING UTF8); |
| 38 | +-- SQL/JSON aggregates |
| 39 | +SELECT JSON_OBJECTAGG(k: v) FROM t; |
| 40 | +SELECT JSON_OBJECTAGG(k VALUE v) FROM t; |
| 41 | +SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL) FROM t; |
| 42 | +SELECT JSON_OBJECTAGG(k: v NULL ON NULL WITH UNIQUE KEYS RETURNING jsonb) FROM t; |
| 43 | +SELECT JSON_OBJECTAGG(k: v FORMAT JSON) FROM t; |
| 44 | +SELECT JSON_OBJECTAGG(k: v) FILTER (WHERE k IS NOT NULL) FROM t; |
| 45 | +SELECT JSON_OBJECTAGG(k: v) OVER (PARTITION BY g) FROM t; |
| 46 | +SELECT JSON_OBJECTAGG(k: v) FILTER (WHERE k IS NOT NULL) OVER (ORDER BY k ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) FROM t; |
| 47 | +SELECT JSON_ARRAYAGG(v) FROM t; |
| 48 | +SELECT JSON_ARRAYAGG(v ORDER BY v DESC) FROM t; |
| 49 | +SELECT JSON_ARRAYAGG(v NULL ON NULL) FROM t; |
| 50 | +SELECT JSON_ARRAYAGG(v ABSENT ON NULL RETURNING jsonb) FROM t; |
| 51 | +SELECT JSON_ARRAYAGG(v FORMAT JSON ORDER BY v ABSENT ON NULL RETURNING text) FROM t; |
| 52 | +SELECT JSON_ARRAYAGG(v) FILTER (WHERE v > 0) OVER w FROM t WINDOW w AS (PARTITION BY g); |
| 53 | +-- IS JSON predicates |
| 54 | +SELECT js IS JSON FROM t; |
| 55 | +SELECT js IS NOT JSON FROM t; |
| 56 | +SELECT js IS JSON VALUE FROM t; |
| 57 | +SELECT js IS JSON OBJECT FROM t; |
| 58 | +SELECT js IS JSON ARRAY FROM t; |
| 59 | +SELECT js IS JSON SCALAR FROM t; |
| 60 | +SELECT js IS JSON WITH UNIQUE KEYS FROM t; |
| 61 | +SELECT js IS JSON OBJECT WITHOUT UNIQUE KEYS FROM t; |
| 62 | +SELECT js IS NOT JSON ARRAY WITH UNIQUE FROM t; |
| 63 | +SELECT CASE WHEN js IS JSON OBJECT THEN 'o' WHEN js IS JSON ARRAY THEN 'a' END FROM t; |
0 commit comments