FWIW:  If you build a database using NOCASE version 1, then try to use the
database with a different NOCASE version X where X>1, the database will
appear to be corrupt, since the order of the indices will be incorrect.
However, you can easily fix this by running REINDEX.  That is what the
REINDEX command was created for - to rebuild indices after changing the
definition of a collation.


On Mon, Aug 26, 2013 at 1:16 PM, Igor Tandetnik <[email protected]> wrote:

> On 8/26/2013 11:58 AM, Simon Slavin wrote:
>
>>
>> On 26 Aug 2013, at 4:44pm, Jan Slodicka <[email protected]> wrote:
>>
>>      int rc = sqlite3_create_collation(db, "NOCASE", SQLITE_UTF8, 0,
>>> sqlite3_collate);
>>>
>>
>> As a risk, I see overriding an existing collation name as risky.  If any
>> application makes changes to the database without the extension loaded,
>> you're going to get corrupt indexes.  Can you instead make up a new
>> collation name ?
>>
>
> Furthermore, the collation depends on the system locale. If the system
> locale changes, that could similarly lead to corrupted indexes. Not sure
> how much of a concern that is with iOS (I'm really only familiar with
> Windows desktop, where changing the system locale is possible, and moreover
> different users on the same machine may run under different locales).
> --
> Igor Tandetnik
>
>
> ______________________________**_________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-**bin/mailman/listinfo/sqlite-**users<http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users>
>



-- 
D. Richard Hipp
[email protected]
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to