pgsql: btree_gin: Fix calculation of leftmost interval value. - Mailing list pgsql-committers

From Dean Rasheed
Subject pgsql: btree_gin: Fix calculation of leftmost interval value.
Date
Msg-id E1qx3tH-002wWO-1W@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/35e6a5c20d453921efa24342effb648cad3573ec

Modified Files
--------------
contrib/btree_gin/btree_gin.c           |  6 +++---
contrib/btree_gin/expected/interval.out | 16 +++++++++++-----
contrib/btree_gin/sql/interval.sql      |  4 +++-
3 files changed, 17 insertions(+), 9 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Fix intra-query memory leak when a SRF returns zero rows.
Next
From: Dean Rasheed
Date:
Subject: pgsql: Guard against overflow in make_interval().