On 6/27/07, Jiri Hajek <[EMAIL PROTECTED]> wrote:
I tried to think about this in as many details as possible and I'd say that the original problem that I'd like to solve here (i.e. collation of Unicode character sets) doesn't require any special complex handling in SQLite. We really should just define how will individual collations be named, so that Unicode SQLite databases become portable.
The only argument against this was that individual implementations of Unicode standard (i.e. mainly internal Windows methods or ICU library) could differ. However, is it really a problem? I'd say that it isn't. Unicode specifies exactly how characters should be sorted and so _if_ there really are any differences between Windows and ICU implementations, they should be considered as a bug and be solved there. I.e. it isn't anything SQLite should be responsible for.
No, it doesn't. See _The Unicode Standard 5.0_ chapter 5 section 16 (http://www.unicode.org/versions/Unicode5.0.0/ch05.pdf). Unicode Technical Standard #10 (http://www.unicode.org/reports/tr10/) specifies how collections work, and provides a default table, but note carefully that the table is versioned and contains incompatible changes between versions -- see the Modifications section at the end. It does not deal with locale-specific collation at all. I'll also refer you to the blog of Michael Kaplan, someone involved in both the Unicode Consortium and the NLS group at Microsoft: http://blogs.msdn.com/michkap/search.aspx?q=collation On platform compatibility: http://blogs.msdn.com/michkap/archive/2004/11/28/271121.aspx http://blogs.msdn.com/michkap/archive/2005/05/04/414520.aspx What Microsoft does with their own SQL Server: http://blogs.msdn.com/michkap/archive/2005/03/11/394359.aspx The same issues apply to anything you try to do with SQLite. Unicode is nowhere near as simple as people would like it to be, which is why everyone picks a specific platform with a known state and sticks to it like glue. There be dragons here. ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------