From b66336c4e1af0e8eae520623e4b018251807b0bb Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 17 Aug 2021 13:00:36 -0400 Subject: [PATCH] Reduce assumptions about locale's behavior in new regex tests. I was overoptimistic to assume that UTF8-based locales would all consider U+1500 to be a member of the [[:alpha:]] char class. Tweak the test cases added by commit 78a843f11 to avoid that assumption. We might need to lobotomize them further, but this should be enough to fix the early buildfarm reports. --- .../modules/test_regex/expected/test_regex_utf8.out | 12 ++++++------ src/test/modules/test_regex/sql/test_regex_utf8.sql | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/test/modules/test_regex/expected/test_regex_utf8.out b/src/test/modules/test_regex/expected/test_regex_utf8.out index 3b56f36c071..befd75e96f3 100644 --- a/src/test/modules/test_regex/expected/test_regex_utf8.out +++ b/src/test/modules/test_regex/expected/test_regex_utf8.out @@ -107,18 +107,18 @@ select * from test_regex('[[:alnum:]]*[[:upper:]]*[\u1000-\u2000]*\u1237', (2 rows) -- systematically test char classes -select * from test_regex('[[:alnum:]]+', E'x\u1500\u1237', 'L'); +select * from test_regex('[[:alnum:]]+', E'x*\u1500\u1237', 'L'); test_regex ----------------- {0,REG_ULOCALE} - {xᔀሷ} + {x} (2 rows) -select * from test_regex('[[:alpha:]]+', E'x\u1500\u1237', 'L'); +select * from test_regex('[[:alpha:]]+', E'x*\u1500\u1237', 'L'); test_regex ----------------- {0,REG_ULOCALE} - {xᔀሷ} + {x} (2 rows) select * from test_regex('[[:ascii:]]+', E'x\u1500\u1237', 'L'); @@ -197,10 +197,10 @@ select * from test_regex('[[:xdigit:]]+', E'xa9\u1500\u1237', 'L'); {a9} (2 rows) -select * from test_regex('[[:word:]]+', E'x_\u1500\u1237', 'L'); +select * from test_regex('[[:word:]]+', E'x_*\u1500\u1237', 'L'); test_regex ----------------- {0,REG_ULOCALE} - {x_ᔀሷ} + {x_} (2 rows) diff --git a/src/test/modules/test_regex/sql/test_regex_utf8.sql b/src/test/modules/test_regex/sql/test_regex_utf8.sql index f23907162e4..2aa3e0f1022 100644 --- a/src/test/modules/test_regex/sql/test_regex_utf8.sql +++ b/src/test/modules/test_regex/sql/test_regex_utf8.sql @@ -62,8 +62,8 @@ select * from test_regex('[[:alnum:]]*[[:upper:]]*[\u1000-\u2000]*\u1237', E'\u1500\u1237', 'iELMP'); -- systematically test char classes -select * from test_regex('[[:alnum:]]+', E'x\u1500\u1237', 'L'); -select * from test_regex('[[:alpha:]]+', E'x\u1500\u1237', 'L'); +select * from test_regex('[[:alnum:]]+', E'x*\u1500\u1237', 'L'); +select * from test_regex('[[:alpha:]]+', E'x*\u1500\u1237', 'L'); select * from test_regex('[[:ascii:]]+', E'x\u1500\u1237', 'L'); select * from test_regex('[[:blank:]]+', E'x \t\u1500\u1237', 'L'); select * from test_regex('[[:cntrl:]]+', E'x\u1500\u1237', 'L'); @@ -75,4 +75,4 @@ select * from test_regex('[[:punct:]]+', E'x.\u1500\u1237', 'L'); select * from test_regex('[[:space:]]+', E'x \t\u1500\u1237', 'L'); select * from test_regex('[[:upper:]]+', E'xX\u1500\u1237', 'L'); select * from test_regex('[[:xdigit:]]+', E'xa9\u1500\u1237', 'L'); -select * from test_regex('[[:word:]]+', E'x_\u1500\u1237', 'L'); +select * from test_regex('[[:word:]]+', E'x_*\u1500\u1237', 'L'); -- 2.30.2