]> git.ipfire.org Git - thirdparty/postgresql.git/commit
btree_gin: Fix calculation of leftmost interval value.
authorDean Rasheed <dean.a.rasheed@gmail.com>
Sun, 29 Oct 2023 11:14:35 +0000 (11:14 +0000)
committerDean Rasheed <dean.a.rasheed@gmail.com>
Sun, 29 Oct 2023 11:14:35 +0000 (11:14 +0000)
commit5f06918399f07d46c15756bea84d8d5665ebfa57
tree99dcce5dc72ef39f7789930673f0a3ce03137026
parent592cb11fbee08b4cdd660bb45b6767645c9cfdae
btree_gin: Fix calculation of leftmost interval value.

Formerly, the value computed by leftmostvalue_interval() was a long
way short of the minimum possible interval value.  As a result, an
index scan on a GIN index on an interval column with < or <= operators
would miss large negative interval values.

Fix by setting all fields of the leftmost interval to their minimum
values, ensuring that the result is less than any other possible
interval.  Since this only affects index searches, no index rebuild is
necessary.

Back-patch to all supported branches.

Dean Rasheed, reviewed by Heikki Linnakangas.

Discussion: https://postgr.es/m/CAEZATCV80%2BgOfF8ehNUUfaKBZgZMDfCfL-g1HhWGb6kC3rpDfw%40mail.gmail.com
contrib/btree_gin/btree_gin.c
contrib/btree_gin/expected/interval.out
contrib/btree_gin/sql/interval.sql