]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Always register BINARY collating sequences for UTF-16BE and UTF-16LE both.
authordrh <drh@noemail.net>
Wed, 1 Feb 2006 13:50:41 +0000 (13:50 +0000)
committerdrh <drh@noemail.net>
Wed, 1 Feb 2006 13:50:41 +0000 (13:50 +0000)
Formerly we were only registering the native byte order by default.
Ticket #1654.  Note:  There may still be problems with collating sequence
synthesis. (CVS 3053)

FossilOrigin-Name: 3861377bd93453161dfe78a8c1d7a9f919108c8f

manifest
manifest.uuid
src/main.c

index 176ac06b790378012e4b26c16abbfd74c3f8d72f..802b1adcd68347a37368a0d4c36f6cb2ee951b55 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C In\sjoins\sof\sthe\sform:\s"A,\sB\sleft\sC"\smake\ssure\sthat\sthe\sreordering\soptimization\ndoes\snot\sput\stable\sA\safter\stable\sC.\s\sTicket\s#1652.\s(CVS\s3052)
-D 2006-02-01T02:45:02
+C Always\sregister\sBINARY\scollating\ssequences\sfor\sUTF-16BE\sand\sUTF-16LE\sboth.\nFormerly\swe\swere\sonly\sregistering\sthe\snative\sbyte\sorder\sby\sdefault.\nTicket\s#1654.\s\sNote:\s\sThere\smay\sstill\sbe\sproblems\swith\scollating\ssequence\nsynthesis.\s(CVS\s3053)
+D 2006-02-01T13:50:42
 F Makefile.in 5d8dff443383918b700e495de42ec65bc1c8865b
 F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -48,7 +48,7 @@ F src/hash.c 8747cf51d12de46512880dfcf1b68b4e24072863
 F src/hash.h 1b0c445e1c89ff2aaad9b4605ba61375af001e84
 F src/insert.c 7e931b7f06afbcefcbbaab175c02eff8268db33f
 F src/legacy.c 86b669707b3cefd570e34154e2f6457547d1df4f
-F src/main.c 5c890c27e05e083e4df2547ae3679f21ed05adc3
+F src/main.c ce5b9f0af959b6c7dc14c42815edd28e2153621b
 F src/md5.c c5fdfa5c2593eaee2e32a5ce6c6927c986eaf217
 F src/os.c 59f05de8c5777c34876607114a2fbe55ae578235
 F src/os.h 93035a0e3b9dd05cdd0aaef32ea28ca28e02fe78
@@ -350,7 +350,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 82f558bd11ddb20792fbc9f579b40ad38d7f6af5
-R 2af434e8b15703eb7f034d5057b5c6a7
+P 248b9be93d9532e31c640432b75c3310e180acb3
+R 859a862fe83457f62502860af9a0f719
 U drh
-Z 400ad0ae9ac8ef551d8c82316e3538c4
+Z b0413d62db13b211c799ec334f107158
index 2cc19961854d83dd9b93be7df0d9fedd067315c1..75a6e56b6a0fb66e58485218d109e4a767331732 100644 (file)
@@ -1 +1 @@
-248b9be93d9532e31c640432b75c3310e180acb3
\ No newline at end of file
+3861377bd93453161dfe78a8c1d7a9f919108c8f
\ No newline at end of file
index 4dfb3589da9a77a106372b3073820024f38e3e09..258731b25decba5c88235968aaab5d77afd42246 100644 (file)
@@ -14,7 +14,7 @@
 ** other files are for internal use by SQLite and should not be
 ** accessed by users of the library.
 **
-** $Id: main.c,v 1.332 2006/01/31 19:31:44 drh Exp $
+** $Id: main.c,v 1.333 2006/02/01 13:50:42 drh Exp $
 */
 #include "sqliteInt.h"
 #include "os.h"
@@ -731,6 +731,10 @@ int sqlite3_errcode(sqlite3 *db){
   return db->errCode;
 }
 
+/*
+** Create a new collating function for database "db".  The name is zName
+** and the encoding is enc.
+*/
 static int createCollation(
   sqlite3* db, 
   const char *zName, 
@@ -816,8 +820,9 @@ static int openDatabase(
   ** and UTF-16, so add a version for each to avoid any unnecessary
   ** conversions. The only error that can occur here is a malloc() failure.
   */
-  if( createCollation(db, "BINARY", SQLITE_UTF8, 0,binCollFunc) ||
-      createCollation(db, "BINARY", SQLITE_UTF16, 0,binCollFunc) ||
+  if( createCollation(db, "BINARY", SQLITE_UTF8, 0, binCollFunc) ||
+      createCollation(db, "BINARY", SQLITE_UTF16BE, 0, binCollFunc) ||
+      createCollation(db, "BINARY", SQLITE_UTF16LE, 0, binCollFunc) ||
       (db->pDfltColl = sqlite3FindCollSeq(db, SQLITE_UTF8, "BINARY", 6, 0))==0 
   ){
     assert( sqlite3MallocFailed() );