mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
Add index-only scan support to range type GiST opclass.
Andreas Karlsson
This commit is contained in:
@ -1072,6 +1072,25 @@ select count(*) from test_range_spgist where ir -|- int4range(100,500);
|
||||
5
|
||||
(1 row)
|
||||
|
||||
-- test index-only scans
|
||||
explain (costs off)
|
||||
select ir from test_range_spgist where ir -|- int4range(10,20) order by ir;
|
||||
QUERY PLAN
|
||||
------------------------------------------------------------------------
|
||||
Sort
|
||||
Sort Key: ir
|
||||
-> Index Only Scan using test_range_spgist_idx on test_range_spgist
|
||||
Index Cond: (ir -|- '[10,20)'::int4range)
|
||||
(4 rows)
|
||||
|
||||
select ir from test_range_spgist where ir -|- int4range(10,20) order by ir;
|
||||
ir
|
||||
------------
|
||||
[20,30)
|
||||
[20,30)
|
||||
[20,10020)
|
||||
(3 rows)
|
||||
|
||||
RESET enable_seqscan;
|
||||
RESET enable_indexscan;
|
||||
RESET enable_bitmapscan;
|
||||
|
@ -286,6 +286,11 @@ select count(*) from test_range_spgist where ir &< int4range(100,500);
|
||||
select count(*) from test_range_spgist where ir &> int4range(100,500);
|
||||
select count(*) from test_range_spgist where ir -|- int4range(100,500);
|
||||
|
||||
-- test index-only scans
|
||||
explain (costs off)
|
||||
select ir from test_range_spgist where ir -|- int4range(10,20) order by ir;
|
||||
select ir from test_range_spgist where ir -|- int4range(10,20) order by ir;
|
||||
|
||||
RESET enable_seqscan;
|
||||
RESET enable_indexscan;
|
||||
RESET enable_bitmapscan;
|
||||
|
Reference in New Issue
Block a user