On Sep 23, 2008, at 9:31 PM, Dennis Cote wrote:

> Shane Harrelson wrote:
>> This was my fault.   http://www.sqlite.org/cvstrac/chngview?cn=5654
>> strcasecmp() isn't available on all platforms, and I naively assumed
>> sqlite3StrICmp() would be (it's not in this case do to the way you
>> are compiling/linking).   I'll review the issue and see what I can  
>> do.
>>
>
> I see this was addressed by checkin [5735] at
> http://www.sqlite.org/cvstrac/chngview?cn=5735.
>
> It seems to me there may be an oversight here. The original  
> function was
> strcasecmp() not strcmp(). The code in question was doing case
> insensitive string comparisons, but it is now doing case sensitive
> comparisons. This may lead to a change in behavior if the string
> zConflict is not constrained to be lower case elsewhere in the code.

It is a change, but it looks like strcmp() is correct. From the docs
describing the tcl interface:

   Conflict-alogrithm must be one of the SQLite conflict algorithms
   for the INSERT statement: rollback, abort, fail,ignore, or replace.
   See the SQLite Language section for ON CONFLICT for more information.
   The conflict-algorithm must be specified in lower case.

So, accepting conflict-algorithms specified with mixed or upper case
was technically incorrect.

Dan.

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

Reply via email to