mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Move definition of standard collations from initdb to pg_collation.dat
The standard collations "ucs_basic" and "unicode" were defined in initdb, even though pg_collation.dat seems like the correct place for them. It seems this was just forgotten during various reorganizations of initdb and pg_collation.dat/.h over time. Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://www.postgresql.org/message-id/flat/08b58ecd-0d50-9395-ed51-dc8294e3fd2b%40enterprisedb.com
This commit is contained in:
parent
0d15afc875
commit
563f21cda8
@ -1695,20 +1695,7 @@ setup_description(FILE *cmdfd)
|
|||||||
static void
|
static void
|
||||||
setup_collation(FILE *cmdfd)
|
setup_collation(FILE *cmdfd)
|
||||||
{
|
{
|
||||||
/*
|
/* Import all collations we can find in the operating system */
|
||||||
* Add SQL-standard names. We don't want to pin these, so they don't go
|
|
||||||
* in pg_collation.dat. But add them before reading system collations, so
|
|
||||||
* that they win if libc defines a locale with the same name.
|
|
||||||
*/
|
|
||||||
PG_CMD_PRINTF("INSERT INTO pg_collation (oid, collname, collnamespace, collowner, collprovider, collisdeterministic, collencoding, colliculocale)"
|
|
||||||
"VALUES (pg_nextoid('pg_catalog.pg_collation', 'oid', 'pg_catalog.pg_collation_oid_index'), 'unicode', 'pg_catalog'::regnamespace, %u, '%c', true, -1, 'und');\n\n",
|
|
||||||
BOOTSTRAP_SUPERUSERID, COLLPROVIDER_ICU);
|
|
||||||
|
|
||||||
PG_CMD_PRINTF("INSERT INTO pg_collation (oid, collname, collnamespace, collowner, collprovider, collisdeterministic, collencoding, collcollate, collctype)"
|
|
||||||
"VALUES (pg_nextoid('pg_catalog.pg_collation', 'oid', 'pg_catalog.pg_collation_oid_index'), 'ucs_basic', 'pg_catalog'::regnamespace, %u, '%c', true, %d, 'C', 'C');\n\n",
|
|
||||||
BOOTSTRAP_SUPERUSERID, COLLPROVIDER_LIBC, PG_UTF8);
|
|
||||||
|
|
||||||
/* Now import all collations we can find in the operating system */
|
|
||||||
PG_CMD_PUTS("SELECT pg_import_system_collations('pg_catalog');\n\n");
|
PG_CMD_PUTS("SELECT pg_import_system_collations('pg_catalog');\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,6 +57,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* yyyymmddN */
|
/* yyyymmddN */
|
||||||
#define CATALOG_VERSION_NO 202303291
|
#define CATALOG_VERSION_NO 202303292
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -23,5 +23,12 @@
|
|||||||
descr => 'standard POSIX collation',
|
descr => 'standard POSIX collation',
|
||||||
collname => 'POSIX', collprovider => 'c', collencoding => '-1',
|
collname => 'POSIX', collprovider => 'c', collencoding => '-1',
|
||||||
collcollate => 'POSIX', collctype => 'POSIX' },
|
collcollate => 'POSIX', collctype => 'POSIX' },
|
||||||
|
{ oid => '962', descr => 'sorts by Unicode code point',
|
||||||
|
collname => 'ucs_basic', collprovider => 'c', collencoding => '6',
|
||||||
|
collcollate => 'C', collctype => 'C' },
|
||||||
|
{ oid => '963',
|
||||||
|
descr => 'sorts using the Unicode Collation Algorithm with default settings',
|
||||||
|
collname => 'unicode', collprovider => 'i', collencoding => '-1',
|
||||||
|
colliculocale => 'und' },
|
||||||
|
|
||||||
]
|
]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user