Re: How to pass around collation information
От | Robert Haas |
---|---|
Тема | Re: How to pass around collation information |
Дата | |
Msg-id | AANLkTilLjPaXVBWhowNEigoWkvSuYIofpHjt2Zb7HgPN@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: How to pass around collation information (Peter Eisentraut <peter_e@gmx.net>) |
Ответы |
Re: How to pass around collation information
|
Список | pgsql-hackers |
On Wed, Jun 2, 2010 at 3:46 PM, Peter Eisentraut <peter_e@gmx.net> wrote: > On fre, 2010-05-28 at 20:59 +0300, Peter Eisentraut wrote: >> The feature I'm thinking of is what >> people might call "per-column locale", and the SQL standard defines >> that. It would look like this: >> >> CREATE TABLE test ( >> a varchar COLLATE de, >> b varchar COLLATE fr >> ); >> >> SELECT * FROM test WHERE a > 'baz' ORDER BY b; > > Perhaps it's also worth pointing out there could be use cases other than > supporting multiple natural languages. For example, it is frequently > requested to be able to sort in ways that doesn't ignore special > characters, binary sort, or perhaps special file name sort that treats > '/' special in some way. So it could be quite useful to be able to say > > CREATE TABLE something ( > description text COLLATE en, > code char(6) COLLATE binary, > file text COLLATE filename_sort > ); > > or even something like > > CREATE DOMAIN filename AS text COLLATE filename_sort; > > These are examples where having the collation attached to the column > would appear to make more sense then having it attached only to > operations. But in the end the only purpose of setting it on a column is to set which one will be used for operations on that column. And the user might still override it for a particular query. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company
В списке pgsql-hackers по дате отправления: