Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Always register BINARY collating sequences for UTF-16BE and UTF-16LE both. 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) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
3861377bd93453161dfe78a8c1d7a9f9 |
User & Date: | drh 2006-02-01 13:50:42.000 |
Context
2006-02-01
| ||
14:39 | Typecast to silence (incorrect) compiler warning. (CVS 3054) (check-in: 3a04fc45cc user: drh tags: trunk) | |
13:50 | Always register BINARY collating sequences for UTF-16BE and UTF-16LE both. 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) (check-in: 3861377bd9 user: drh tags: trunk) | |
02:45 | In joins of the form: "A, B left C" make sure that the reordering optimization does not put table A after table C. Ticket #1652. (CVS 3052) (check-in: 248b9be93d user: drh tags: trunk) | |
Changes
Changes to src/main.c.
︙ | ︙ | |||
10 11 12 13 14 15 16 | ** ************************************************************************* ** Main file for the SQLite library. The routines in this file ** implement the programmer interface to the library. Routines in ** other files are for internal use by SQLite and should not be ** accessed by users of the library. ** | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ** ************************************************************************* ** Main file for the SQLite library. The routines in this file ** implement the programmer interface to the library. Routines in ** other files are for internal use by SQLite and should not be ** accessed by users of the library. ** ** $Id: main.c,v 1.333 2006/02/01 13:50:42 drh Exp $ */ #include "sqliteInt.h" #include "os.h" #include <ctype.h> /* ** The following constant value is used by the SQLITE_BIGENDIAN and |
︙ | ︙ | |||
727 728 729 730 731 732 733 734 735 736 737 738 739 740 | } if( sqlite3SafetyCheck(db) ){ return SQLITE_MISUSE; } return db->errCode; } static int createCollation( sqlite3* db, const char *zName, int enc, void* pCtx, int(*xCompare)(void*,int,const void*,int,const void*) ){ | > > > > | 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 | } if( sqlite3SafetyCheck(db) ){ return SQLITE_MISUSE; } 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, int enc, void* pCtx, int(*xCompare)(void*,int,const void*,int,const void*) ){ |
︙ | ︙ | |||
812 813 814 815 816 817 818 | sqlite3HashInit(&db->aFunc, SQLITE_HASH_STRING, 0); sqlite3HashInit(&db->aCollSeq, SQLITE_HASH_STRING, 0); /* Add the default collation sequence BINARY. BINARY works for both UTF-8 ** 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. */ | | | > | 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 | sqlite3HashInit(&db->aFunc, SQLITE_HASH_STRING, 0); sqlite3HashInit(&db->aCollSeq, SQLITE_HASH_STRING, 0); /* Add the default collation sequence BINARY. BINARY works for both UTF-8 ** 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_UTF16BE, 0, binCollFunc) || createCollation(db, "BINARY", SQLITE_UTF16LE, 0, binCollFunc) || (db->pDfltColl = sqlite3FindCollSeq(db, SQLITE_UTF8, "BINARY", 6, 0))==0 ){ assert( sqlite3MallocFailed() ); db->magic = SQLITE_MAGIC_CLOSED; goto opendb_out; } |
︙ | ︙ |