pgsql: Sync patternsel_common's operator selection logic with pattern_p

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Sync patternsel_common's operator selection logic with pattern_p
Date: 2019-11-20 20:00:32
Message-ID: E1iXW9Q-00082R-8e@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Sync patternsel_common's operator selection logic with pattern_prefix's.

Make patternsel_common() select the comparison operators to use with
hardwired logic that matches pattern_prefix()'s new logic, eliminating
its dependencies on particular index opfamilies.

This shouldn't change any behavior, as it's just replacing runtime
operator lookups with the same values hard-wired. But it makes these
closely-related functions look more alike, and saving some runtime
syscache lookups is worth something.

Actually, it's not quite true that this is zero behavioral change:
when estimating for a column of type "name", the comparison constant
will be kept as "text" not coerced to "name". But that's more correct
anyway, and it allows additional simplification of the coercion logic,
again syncing this more closely with pattern_prefix().

Per consideration of a report from Manuel Rigger.

Discussion: https://postgr.es/m/CA+u7OA7nnGYy8rY0vdTe811NuA+Frr9nbcBO9u2Z+JxqNaud+g@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9ff5b699ed3e2d922ff6f5660e53b51bb5db983c

Modified Files
--------------
src/backend/utils/adt/like_support.c | 119 +++++++++++++++++------------------
1 file changed, 58 insertions(+), 61 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2019-11-21 01:24:40 pgsql: Provide statistics for hypothetical BRIN indexes
Previous Message Peter Geoghegan 2019-11-20 19:37:18 pgsql: Fix HeapTupleSatisfiesNonVacuumable() comment.