Suggested patch adds GIN support contains operator for ranges over scalar column.
It allows more effective GIN scan. Currently, queries like SELECT * FROM test_int4 WHERE i <= 1 and i >= 1will be excuted by GIN with two scans: one is from mines infinity to 1 and another is from -1 to plus infinity. That's because GIN is "generalized" and it doesn't know a semantics of operation.
With patch it's possible to rewrite query with ranges SELECT * FROM test_int4 WHERE i <@ '[-1, 1]'::int4range and GIN index will support this query with single scan from -1 to 1.Patch provides index support only for existing range types: int4, int8, numeric, date and timestamp with and without time zone.
-- Teodor Sigaev E-mail: teo...@sigaev.ru WWW: http://www.sigaev.ru/
btree_gin_range-1.patch.gz
Description: GNU Zip compressed data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers