pgsql: Fix planner's test for case-foldable characters in ILIKE with IC

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix planner's test for case-foldable characters in ILIKE with IC
Date: 2019-08-12 17:16:13
Message-ID: E1hxDvZ-00048S-VV@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix planner's test for case-foldable characters in ILIKE with ICU.

As coded, the ICU-collation path in pattern_char_isalpha() failed
to consider regular ASCII letters to be case-varying. This led to
like_fixed_prefix treating too much of an ILIKE pattern as being a
fixed prefix, so that indexscans derived from an ILIKE clause might
miss entries that they should find.

Per bug #15892 from James Inform. This is an oversight in the original
ICU patch (commit eccfef81e), so back-patch to v10 where that came in.

Discussion: https://postgr.es/m/15892-e5d2bea3e8a04a1b@postgresql.org

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/c0c12ce391d89328640dd948b82466c308d85415

Modified Files
--------------
src/backend/utils/adt/like_support.c | 8 +++---
src/test/regress/expected/collate.icu.utf8.out | 35 +++++++++++++++++++++++++-
src/test/regress/sql/collate.icu.utf8.sql | 12 ++++++++-
3 files changed, 50 insertions(+), 5 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2019-08-12 20:19:47 pgsql: Fix compiler warning
Previous Message Tom Lane 2019-08-12 15:58:42 pgsql: Remove EState.es_range_table_array.