@@ -1621,6 +1621,12 @@ SELECT jsonb '[{"a": 1}, {"a": 2}]' @* '$[*] ? (@.a > 10)';
16211621----------
16221622(0 rows)
16231623
1624+ SELECT jsonb '[{"a": 1}, {"a": 2}]' @* '[$[*].a]';
1625+ ?column?
1626+ ----------
1627+ [1, 2]
1628+ (1 row)
1629+
16241630SELECT jsonb '[{"a": 1}, {"a": 2}]' @? '$[*].a ? (@ > 1)';
16251631 ?column?
16261632----------
@@ -1720,3 +1726,48 @@ select jsonb '[1,2,3,4,5]' @* '$[(0, $[*], 5) ? (@ == 3)]';
17201726
17211727select jsonb '[1,2,3,4,5]' @* '$[(0, $[*], 3) ? (@ == 3)]';
17221728ERROR: Invalid SQL/JSON subscript
1729+ -- extension: array constructors
1730+ select jsonb '[1, 2, 3]' @* '[]';
1731+ ?column?
1732+ ----------
1733+ []
1734+ (1 row)
1735+
1736+ select jsonb '[1, 2, 3]' @* '[1, 2, $.map(@ + 100)[*], 4, 5]';
1737+ ?column?
1738+ -----------------------------
1739+ [1, 2, 101, 102, 103, 4, 5]
1740+ (1 row)
1741+
1742+ select jsonb '[1, 2, 3]' @* '[1, 2, $.map(@ + 100)[*], 4, 5][*]';
1743+ ?column?
1744+ ----------
1745+ 1
1746+ 2
1747+ 101
1748+ 102
1749+ 103
1750+ 4
1751+ 5
1752+ (7 rows)
1753+
1754+ select jsonb '[1, 2, 3]' @* '[(1, (2, $.map(@ + 100)[*])), (4, 5)]';
1755+ ?column?
1756+ -----------------------------
1757+ [1, 2, 101, 102, 103, 4, 5]
1758+ (1 row)
1759+
1760+ select jsonb '[1, 2, 3]' @* '[[1, 2], [$.map(@ + 100)[*], 4], 5, [(1,2)?(@ > 5)]]';
1761+ ?column?
1762+ -------------------------------------
1763+ [[1, 2], [101, 102, 103, 4], 5, []]
1764+ (1 row)
1765+
1766+ select jsonb '[1, 2, 3]' @* 'strict [1, 2, $.map(@.a)[*], 4, 5]';
1767+ ERROR: SQL/JSON member not found
1768+ select jsonb '[[1, 2], [3, 4, 5], [], [6, 7]]' @* '[$[*].map(@ + 10)[*] ? (@ > 13)]';
1769+ ?column?
1770+ ------------------
1771+ [14, 15, 16, 17]
1772+ (1 row)
1773+
0 commit comments