mirror of
https://github.com/postgres/postgres.git
synced 2025-07-03 20:02:46 +03:00
Create an explicit concept of collations that work for any encoding.
Use collencoding = -1 to represent such a collation in pg_collation. We need this to make the "default" entry work sanely, and a later patch will fix the C/POSIX entries to be represented this way instead of duplicating them across all encodings. All lookup operations now search first for an entry that's database-encoding-specific, and then for the same name with collencoding = -1. Also some incidental code cleanup in collationcmds.c and pg_collation.c.
This commit is contained in:
@ -609,7 +609,7 @@ static const pgsql_thing_t words_after_create[] = {
|
||||
{"AGGREGATE", NULL, &Query_for_list_of_aggregates},
|
||||
{"CAST", NULL, NULL}, /* Casts have complex structures for names, so
|
||||
* skip it */
|
||||
{"COLLATION", "SELECT pg_catalog.quote_ident(collname) FROM pg_catalog.pg_collation WHERE collencoding = pg_char_to_encoding(getdatabaseencoding()) AND substring(pg_catalog.quote_ident(collname),1,%d)='%s'"},
|
||||
{"COLLATION", "SELECT pg_catalog.quote_ident(collname) FROM pg_catalog.pg_collation WHERE collencoding IN (-1, pg_catalog.pg_char_to_encoding(pg_catalog.getdatabaseencoding())) AND substring(pg_catalog.quote_ident(collname),1,%d)='%s'"},
|
||||
|
||||
/*
|
||||
* CREATE CONSTRAINT TRIGGER is not supported here because it is designed
|
||||
|
Reference in New Issue
Block a user