diff_fix_pg_regress_create_database.patch
text/x-diff
Filename: diff_fix_pg_regress_create_database.patch
Type: text/x-diff
Part: 1
Message:
Re: ICU for global collation
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| src/test/regress/pg_regress.c | 13 | 2 |
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
index dda076847a38a74a765ca1283226815e9d10ada1..4aa42c6b1c7f2f2c36af539bafca4d64cdb7db3a 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -1899,14 +1899,25 @@ create_database(const char *dbname)
/*
* We use template0 so that any installation-local cruft in template1 will
* not mess up the tests.
+ *
+ * Explicitly set the locale provider libc for the option --no-locale.
+ * Otherwise during installcheck the new database may use the ICU locale
+ * provider with the custom ICU locale from template0.
*/
header(_("creating database \"%s\""), dbname);
if (encoding)
+
+ /*
+ * Explicitly set the locale provider libc for the manually chosen
+ * encoding. Otherwise during installcheck the new database may use
+ * the ICU locale provider (from template0) which does not support all
+ * encodings.
+ */
psql_add_command(buf, "CREATE DATABASE \"%s\" TEMPLATE=template0 ENCODING='%s'%s", dbname, encoding,
- (nolocale) ? " LC_COLLATE='C' LC_CTYPE='C'" : "");
+ (nolocale) ? " LC_COLLATE='C' LC_CTYPE='C' LOCALE_PROVIDER='libc'" : " LOCALE_PROVIDER='libc'");
else
psql_add_command(buf, "CREATE DATABASE \"%s\" TEMPLATE=template0%s", dbname,
- (nolocale) ? " LC_COLLATE='C' LC_CTYPE='C'" : "");
+ (nolocale) ? " LC_COLLATE='C' LC_CTYPE='C' LOCALE_PROVIDER='libc'" : "");
psql_add_command(buf,
"ALTER DATABASE \"%s\" SET lc_messages TO 'C';"
"ALTER DATABASE \"%s\" SET lc_monetary TO 'C';"