@@ -483,13 +483,13 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
483
483
SELECT count(*) from test__int WHERE a @@ '20 | !21';
484
484
count
485
485
-------
486
- 6566
486
+ 6567
487
487
(1 row)
488
488
489
489
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
490
490
count
491
491
-------
492
- 6343
492
+ 6344
493
493
(1 row)
494
494
495
495
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)';
557
557
SELECT count(*) from test__int WHERE a @@ '20 | !21';
558
558
count
559
559
-------
560
- 6566
560
+ 6567
561
561
(1 row)
562
562
563
563
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
564
564
count
565
565
-------
566
- 6343
566
+ 6344
567
567
(1 row)
568
568
569
569
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)';
639
639
SELECT count(*) from test__int WHERE a @@ '20 | !21';
640
640
count
641
641
-------
642
- 6566
642
+ 6567
643
643
(1 row)
644
644
645
645
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
646
646
count
647
647
-------
648
- 6343
648
+ 6344
649
649
(1 row)
650
650
651
651
DROP INDEX text_idx;
@@ -719,13 +719,13 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
719
719
SELECT count(*) from test__int WHERE a @@ '20 | !21';
720
720
count
721
721
-------
722
- 6566
722
+ 6567
723
723
(1 row)
724
724
725
725
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
726
726
count
727
727
-------
728
- 6343
728
+ 6344
729
729
(1 row)
730
730
731
731
DROP INDEX text_idx;
@@ -793,13 +793,13 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
793
793
SELECT count(*) from test__int WHERE a @@ '20 | !21';
794
794
count
795
795
-------
796
- 6566
796
+ 6567
797
797
(1 row)
798
798
799
799
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
800
800
count
801
801
-------
802
- 6343
802
+ 6344
803
803
(1 row)
804
804
805
805
DROP INDEX text_idx;
@@ -867,13 +867,13 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
867
867
SELECT count(*) from test__int WHERE a @@ '20 | !21';
868
868
count
869
869
-------
870
- 6566
870
+ 6567
871
871
(1 row)
872
872
873
873
SELECT count(*) from test__int WHERE a @@ '!20 & !21';
874
874
count
875
875
-------
876
- 6343
876
+ 6344
877
877
(1 row)
878
878
879
879
DROP INDEX text_idx;
@@ -889,9 +889,10 @@ DROP INDEX text_idx;
889
889
-- core that would reach the same codepaths.
890
890
CREATE TABLE more__int AS SELECT
891
891
-- Leave alone NULLs, empty arrays and the one row that we use to test
892
- -- equality
892
+ -- equality; also skip INT_MAX
893
893
CASE WHEN a IS NULL OR a = '{}' OR a = '{73,23,20}' THEN a ELSE
894
- (select array_agg(u) || array_agg(u + 1000) || array_agg(u + 2000) from (select unnest(a) u) x)
894
+ (select array_agg(u) || array_agg(u + 1000) || array_agg(u + 2000)
895
+ from unnest(a) u where u < 2000000000)
895
896
END AS a, a as b
896
897
FROM test__int;
897
898
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)';
958
959
SELECT count(*) from more__int WHERE a @@ '20 | !21';
959
960
count
960
961
-------
961
- 6566
962
+ 6567
962
963
(1 row)
963
964
964
965
SELECT count(*) from more__int WHERE a @@ '!20 & !21';
965
966
count
966
967
-------
967
- 6343
968
+ 6344
968
969
(1 row)
969
970
970
971
RESET enable_seqscan;
0 commit comments