pgsql: Rationalize code placement between wchar.c, encnames.c, and mbut

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Rationalize code placement between wchar.c, encnames.c, and mbut
Date: 2020-01-16 23:08:30
Message-ID: E1isEFa-000654-4y@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Rationalize code placement between wchar.c, encnames.c, and mbutils.c.

Move all the backend-only code that'd crept into wchar.c and encnames.c
into mbutils.c.

To remove the last few #ifdef dependencies from wchar.c and encnames.c,
also make the following changes:

* Adjust get_encoding_name_for_icu to return NULL, not throw an error,
for unsupported encodings. Its sole caller can perfectly well throw an
error instead. (While at it, I also made this function and its sibling
is_encoding_supported_by_icu proof against out-of-range encoding IDs.)

* Remove the overlength-name error condition from pg_char_to_encoding.
It's completely silly not to treat that just like any other
the-name-is-not-in-the-table case.

Also, get rid of pg_mic_mblen --- there's no obvious reason why
conv.c shouldn't call pg_mule_mblen instead.

Other than that, this is just code movement and comment-polishing with
no functional changes. Notably, I reordered declarations in pg_wchar.h
to show which functions are frontend-accessible and which are not.

Discussion: https://postgr.es/m/CA+TgmoYO8oq-iy8E02rD8eX25T-9SmyxKWqqks5OMHxKvGXpXQ@mail.gmail.com

Branch
------
master

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

Modified Files
--------------
src/backend/utils/adt/pg_locale.c | 7 +-
src/backend/utils/mb/conv.c | 4 +-
src/backend/utils/mb/mbutils.c | 451 +++++++++++++++++++++++++++++++++++++-
src/common/encnames.c | 83 ++-----
src/common/wchar.c | 451 +-------------------------------------
src/include/mb/pg_wchar.h | 45 ++--
6 files changed, 505 insertions(+), 536 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2020-01-17 01:08:36 pgsql: Move OpenSSL routines for min/max protocol setting to src/common
Previous Message Tom Lane 2020-01-16 20:59:15 pgsql: Move wchar.c and encnames.c to src/common/.