Re: [WIP] patch - Collation at database level - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: [WIP] patch - Collation at database level
Date
Msg-id 200807291141.39166.peter_e@gmx.net
Whole thread Raw
In response to [WIP] patch - Collation at database level  ("Radek Strnad" <radek.strnad@gmail.com>)
Responses Re: [WIP] patch - Collation at database level  (Gregory Stark <stark@enterprisedb.com>)
Re: [WIP] patch - Collation at database level  ("Radek Strnad" <radek.strnad@gmail.com>)
List pgsql-hackers
Am Tuesday, 1. July 2008 schrieb Radek Strnad:
> I'm sending part of the code that I've done and is available for reviewing
> and I'm asking for your comments and some help because I'm new to
> PostgreSQL.
>
> Proposal: http://archives.postgresql.org/pgsql-hackers/2008-05/msg00857.php
>
> The code contains changes of parser, pg_collation catalog, parsenodes.h for
> CREATE COLLATION... and DROP COLLATION statements.

This patch is a small start on the way to adding a catalog and some SQL 
statements that add and remove entries from it.  But I don't see any 
collation support here, which is about 99% of the work that is left to do.  
Where are the collations going to come from?  Have the various build and 
distributions issues been thought about?  How are they going to be configured 
(not the SQL syntax, but how will the configuration be applied)?  How are the 
collations going to be applied at run-time?  How are you going to handle 
locale and encoding conflicts?  I also think that the clauses you have 
attached to your CREATE COLLATION statement (case-insensitive, 
accent-insensitive) are an oversimplification of reality.  I suggest you look 
up the Unicode collation algorithm to learn about who collations work in 
practice.

In my opinion, you are starting this project from the wrong end.  I would 
suggest you approach it like this:

- Find some collation implementations
- Patch PostgreSQL to link with them
- Patch PostgreSQL to apply them for comparison
- Implement system catalog to configure them
- Implement SQL statements to manipulate the system catalog


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: patch: Add a separate TRUNCATE permission
Next
From: Abhijit Menon-Sen
Date:
Subject: Re: [PATCH] "\ef " in psql