@@ -2118,6 +2118,62 @@ SELECT count(*) FROM testjsonb WHERE j ?& ARRAY['public','disabled'];
2118
2118
42
2119
2119
(1 row)
2120
2120
2121
+ SELECT count(*) FROM testjsonb WHERE ANY KEY OF j AS k SATISFIES ( k = '"pos"'::jsonb );
2122
+ count
2123
+ -------
2124
+ 203
2125
+ (1 row)
2126
+
2127
+ SELECT count(*) FROM testjsonb WHERE ANY KEY OF j AS k SATISFIES ( k = '"age"'::jsonb );
2128
+ count
2129
+ -------
2130
+ 2
2131
+ (1 row)
2132
+
2133
+ SELECT count(*) FROM testjsonb WHERE EACH KEY OF j AS k SATISFIES ( k = '"age"'::jsonb );
2134
+ count
2135
+ -------
2136
+ 120
2137
+ (1 row)
2138
+
2139
+ SELECT count(*) FROM testjsonb WHERE ANY VALUE OF j AS v SATISFIES ( v = '"CAB"'::jsonb );
2140
+ count
2141
+ -------
2142
+ 30
2143
+ (1 row)
2144
+
2145
+ SELECT count(*) FROM testjsonb WHERE ANY VALUE OF j AS v SATISFIES ( v = '"baz"'::jsonb );
2146
+ count
2147
+ -------
2148
+ 0
2149
+ (1 row)
2150
+
2151
+ SELECT count(*) FROM testjsonb WHERE ANY VALUE ANYWHERE OF j AS v SATISFIES ( v = '"baz"'::jsonb );
2152
+ count
2153
+ -------
2154
+ 3
2155
+ (1 row)
2156
+
2157
+ SELECT count(*) FROM testjsonb WHERE ANY ELEMENT ANYWHERE OF j AS v SATISFIES ( v = '"baz"'::jsonb );
2158
+ count
2159
+ -------
2160
+ 4
2161
+ (1 row)
2162
+
2163
+ SELECT count(*) FROM testjsonb WHERE ANY ELEMENT OF j->'array' AS e SATISFIES ( e = '"baz"'::jsonb );
2164
+ count
2165
+ -------
2166
+ 4
2167
+ (1 row)
2168
+
2169
+ SELECT count(*) FROM testjsonb WHERE ANY KEY OF j AS k SATISFIES (
2170
+ k->>0 = 'array' AND ANY ELEMENT OF j->(k->>0) AS e SATISFIES ( e = '"baz"'::jsonb )
2171
+ );
2172
+ count
2173
+ -------
2174
+ 4
2175
+ (1 row)
2176
+
2121
2177
CREATE INDEX jidx ON testjsonb USING gin (j);
2122
2178
SET enable_seqscan = off;
2123
2179
SELECT count(*) FROM testjsonb WHERE j @> '{"wait":null}';