pgsql: Move is_valid_ascii() to ascii.h.

From: Nathan Bossart <nathan(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Move is_valid_ascii() to ascii.h.
Date: 2024-01-29 18:09:57
Message-ID: E1rUW4z-003ik8-F4@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Move is_valid_ascii() to ascii.h.

This function requires simd.h, which is a rather large dependency
for a widely-used header file like pg_wchar.h. Furthermore, there
is a report of a third-party tool that is struggling to use
pg_wchar.h due to its dependence on simd.h (presumably because
simd.h uses several intrinsics). Moving the function to the much
less popular ascii.h resolves these issues for now.

This commit is back-patched for the benefit of the aforementioned
third-party tool. The simd.h dependency was only added in v16,
but we've opted to back-patch to v15 so that is_valid_ascii() lives
in the same file for all versions where it exists. This could
break existing third-party code that uses the function, but we
couldn't find any examples of such code. It should be possible to
fix any code that this commit breaks by including ascii.h in the
file that uses is_valid_ascii().

Author: Jubilee Young
Reviewed-by: Tom Lane, John Naylor, Andres Freund, Eric Ridge
Discussion: https://postgr.es/m/CAPNHn3oKJJxMsYq%2BqLYzVJOFrUcOr4OF1EC-KtFT-qh8nOOOtQ%40mail.gmail.com
Backpatch-through: 15

Branch
------
REL_16_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/1b924a86e696c25775e873ccd4cac1f24ec6502f

Modified Files
--------------
src/common/wchar.c | 1 +
src/include/mb/pg_wchar.h | 69 -----------------------------------------------
src/include/utils/ascii.h | 68 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 69 insertions(+), 69 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message David Rowley 2024-01-29 21:15:39 pgsql: Doc: mention foreign keys can reference unique indexes
Previous Message Tom Lane 2024-01-29 17:06:37 pgsql: Fix incompatibilities with libxml2 >= 2.12.0.