Introduce t_isalnum() to replace t_isalpha() || t_isdigit() tests.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 6 Oct 2022 15:08:56 +0000 (11:08 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 6 Oct 2022 15:08:56 +0000 (11:08 -0400)
commitca71131eebba63809ceb86be033a264a5f0a1d79
treebff861724e38a284e336b166f60ce6c341c69973
parent5757141caeaff4af0c206ab672d542cbd608542c
Introduce t_isalnum() to replace t_isalpha() || t_isdigit() tests.

ts_locale.c omitted support for "isalnum" tests, perhaps on the
grounds that there were initially no use-cases for that.  However,
both ltree and pg_trgm need such tests, and we do also have one
use-case now in the core backend.  The workaround of testing
isalpha and isdigit separately seems quite inefficient, especially
when dealing with multibyte characters; so let's fill in the
missing support.

Discussion: https://postgr.es/m/2548310.1664999615@sss.pgh.pa.us
contrib/ltree/ltree.h
contrib/pg_trgm/trgm.h
src/backend/tsearch/ts_locale.c
src/backend/utils/adt/tsquery.c
src/include/tsearch/ts_locale.h