pgsql: Sync patternsel_common's operator selection logic with pattern_p - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Sync patternsel_common's operator selection logic with pattern_p
Date
Msg-id E1iXW9Q-00082R-8e@gemulon.postgresql.org
Whole thread Raw
List 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(-)


pgsql-committers by date:

Previous
From: Peter Geoghegan
Date:
Subject: pgsql: Fix HeapTupleSatisfiesNonVacuumable() comment.
Next
From: Michael Paquier
Date:
Subject: pgsql: Provide statistics for hypothetical BRIN indexes