@ -483,13 +483,13 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
SELECT count(*) from test__int WHERE a @@ '20 | !21';
count
-------
6566
6567
(1 row)
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
count
-------
6343
6344
(1 row)
SET enable_seqscan = off; -- not all of these would use index by default
@ -557,13 +557,13 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
SELECT count(*) from test__int WHERE a @@ '20 | !21';
count
-------
6566
6567
(1 row)
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
count
-------
6343
6344
(1 row)
INSERT INTO test__int SELECT array(SELECT x FROM generate_series(1, 1001) x); -- should fail
@ -639,13 +639,13 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
SELECT count(*) from test__int WHERE a @@ '20 | !21';
count
-------
6566
6567
(1 row)
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
count
-------
6343
6344
(1 row)
DROP INDEX text_idx;
@ -719,13 +719,13 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
SELECT count(*) from test__int WHERE a @@ '20 | !21';
count
-------
6566
6567
(1 row)
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
count
-------
6343
6344
(1 row)
DROP INDEX text_idx;
@ -793,13 +793,13 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
SELECT count(*) from test__int WHERE a @@ '20 | !21';
count
-------
6566
6567
(1 row)
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
count
-------
6343
6344
(1 row)
DROP INDEX text_idx;
@ -867,13 +867,13 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
SELECT count(*) from test__int WHERE a @@ '20 | !21';
count
-------
6566
6567
(1 row)
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
count
-------
6343
6344
(1 row)
DROP INDEX text_idx;
@ -889,9 +889,10 @@ DROP INDEX text_idx;
-- core that would reach the same codepaths.
CREATE TABLE more__int AS SELECT
-- Leave alone NULLs, empty arrays and the one row that we use to test
-- equality
-- equality; also skip INT_MAX
CASE WHEN a IS NULL OR a = '{}' OR a = '{73,23,20}' THEN a ELSE
(select array_agg(u) || array_agg(u + 1000) || array_agg(u + 2000) from (select unnest(a) u) x)
(select array_agg(u) || array_agg(u + 1000) || array_agg(u + 2000)
from unnest(a) u where u < 2000000000)
END AS a, a as b
FROM test__int;
CREATE INDEX ON more__int using gist (a gist__int_ops(numranges = 252));
@ -958,13 +959,13 @@ SELECT count(*) from more__int WHERE a @@ '(20&23)|(50&68)';
SELECT count(*) from more__int WHERE a @@ '20 | !21';
count
-------
6566
6567
(1 row)
SELECT count(*) from more__int WHERE a @@ '!20 & !21';
count
-------
6343
6344
(1 row)
RESET enable_seqscan;