]> 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:33 +0000 (11:14 +0000)
committerDean Rasheed <dean.a.rasheed@gmail.com>
Sun, 29 Oct 2023 11:14:33 +0000 (11:14 +0000)
commitf7cd7b265f6f96689a42d61f1e312554e1ff9fa8
treecf72b8011835bf5da27a4416f20a9f2132a13ed9
parentd8d7f282fd1dc883e8062447b541aa230f6f29a3
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