pgsql: Control ctype behavior internally with a method table. - Mailing list pgsql-committers

From Jeff Davis
Subject pgsql: Control ctype behavior internally with a method table.
Date
Msg-id E1uWcKh-004CYm-0l@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Control ctype behavior internally with a method table.

Previously, pattern matching and case mapping behavior branched based
on the provider. Refactor to use a method table, which is less
error-prone.

This is also a step toward multiple provider versions, which we may
want to support in the future.

Reviewed-by: Andreas Karlsson <andreas@proxel.se>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/2830211e1b6e6a2e26d845780b03e125281ea17b.camel%40j-davis.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/5a38104b364234615c780656a8b2424f96ed9efa

Modified Files
--------------
src/backend/regex/regc_pg_locale.c        | 429 ++++++------------------------
src/backend/utils/adt/like.c              |  22 +-
src/backend/utils/adt/like_support.c      |   7 +-
src/backend/utils/adt/pg_locale.c         | 121 +++------
src/backend/utils/adt/pg_locale_builtin.c | 111 +++++++-
src/backend/utils/adt/pg_locale_icu.c     | 119 ++++++++-
src/backend/utils/adt/pg_locale_libc.c    | 331 ++++++++++++++++++++---
src/include/utils/pg_locale.h             |  53 ++++
src/tools/pgindent/typedefs.list          |   1 -
9 files changed, 686 insertions(+), 508 deletions(-)


pgsql-committers by date:

Previous
From: Jeff Davis
Date:
Subject: pgsql: Use pg_ascii_tolower()/pg_ascii_toupper() where appropriate.
Next
From: Nathan Bossart
Date:
Subject: pgsql: Document age(xid) and mxid_age(xid).