pgsql: Fix bug in support for collation attributes on older ICU version

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix bug in support for collation attributes on older ICU version
Date: 2019-03-19 08:48:09
Message-ID: E1h6APp-0004da-C1@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix bug in support for collation attributes on older ICU versions

Unrecognized attribute names are supposed to be ignored. But the code
would error out on an unrecognized attribute value even if it did not
recognize the attribute name. So unrecognized attributes wouldn't
really be ignored unless the value happened to be one that matched a
recognized value. This would break some important cases where the
attribute would be processed by ucol_open() directly. Fix that and
add a test case.

The restructured code should also avoid compiler warnings about
initializing a UColAttribute value to -1, because the type might be an
unsigned enum. (reported by Andres Freund)

Branch
------
master

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

Modified Files
--------------
src/backend/utils/adt/pg_locale.c | 10 ++++++----
src/test/regress/expected/collate.icu.utf8.out | 10 ++++++++++
src/test/regress/sql/collate.icu.utf8.sql | 7 +++++++
3 files changed, 23 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2019-03-19 08:49:14 Re: pgsql: Add support for collation attributes on older ICU versions
Previous Message Masahiko Sawada 2019-03-19 06:40:07 Re: pgsql: Revise parse tree representation for VACUUM and ANALYZE.