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 <i...@tandetnik.org> wrote:

> On 8/26/2013 11:58 AM, Simon Slavin wrote:
>
>>
>> On 26 Aug 2013, at 4:44pm, Jan Slodicka <j...@resco.net> 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
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-**bin/mailman/listinfo/sqlite-**users<http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users>
>



-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to