Case folding in the LIKE operator should look at all bits of the character,
not just the lower 8 bits. Fix for ticket [80369eddd5c94]. This is a back-out of check-in [0a99a8c4facf] with a testcase added. FossilOrigin-Name: 204432ee72fda8e82d244c4aa18de7ec4811b8e1
This commit is contained in:
parent
5c3aa0517e
commit
fb3972602c
17
manifest
17
manifest
@ -1,5 +1,5 @@
|
||||
C Improve\sperformance\sof\ssqlite3VtabImportErrmsg().
|
||||
D 2016-01-20T08:47:55.546
|
||||
C Case\sfolding\sin\sthe\sLIKE\soperator\sshould\slook\sat\sall\sbits\sof\sthe\scharacter,\nnot\sjust\sthe\slower\s8\sbits.\s\sFix\sfor\sticket\s[80369eddd5c94].\s\sThis\sis\sa\nback-out\sof\scheck-in\s[0a99a8c4facf]\swith\sa\stestcase\sadded.
|
||||
D 2016-01-20T14:22:41.167
|
||||
F Makefile.in a476545d0c8626224d0bacac85c6e2967474af81
|
||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||
F Makefile.msc 01e855f958932d0d3ed62ec675fc63e2cef61fcb
|
||||
@ -301,7 +301,7 @@ F src/delete.c 00af9f08a15ddc5cba5962d3d3e5bf2d67b2e7da
|
||||
F src/expr.c df0d7c3230d59abd679da22ff5ce4cfd0e3a0e63
|
||||
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
|
||||
F src/fkey.c e18b3dff7d47c7bcac5ac4fc178a89b9fd322b44
|
||||
F src/func.c ccaf46fa98f795673afbfab73dff7c18db88f3cd
|
||||
F src/func.c ba6c03f9e440f5693086c08ee88e6e60212b3504
|
||||
F src/global.c bd5a0af3f30b0c01be6db756c626cd3c33a3d260
|
||||
F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5
|
||||
F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094
|
||||
@ -836,7 +836,7 @@ F test/json103.test 923b288a0610ec86c0951778f7db19cbcca36ad1
|
||||
F test/keyword1.test 37ef6bba5d2ed5b07ecdd6810571de2956599dff
|
||||
F test/lastinsert.test 42e948fd6442f07d60acbd15d33fb86473e0ef63
|
||||
F test/laststmtchanges.test ae613f53819206b3222771828d024154d51db200
|
||||
F test/like.test edcf6d0a055816fd793eab92454597c1be91f720
|
||||
F test/like.test 81632c437a947bf1f7130b19537da6a1a844806a
|
||||
F test/like2.test 3b2ee13149ba4a8a60b59756f4e5d345573852da
|
||||
F test/like3.test 3608a2042b6f922f900fbfd5d3ce4e7eca57f7c4
|
||||
F test/limit.test 0c99a27a87b14c646a9d583c7c89fd06c352663e
|
||||
@ -1419,7 +1419,8 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
|
||||
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
||||
F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
P ff8eadbed5004ab03438f737492387dee6b9750a
|
||||
R 9def3e1e6201afa0dc73a868079c61c0
|
||||
U dan
|
||||
Z 16223910bb7e7f6f85293111cf2f150d
|
||||
P 18d61c8e40ed1466b6a3a2f53bf0eeb09687c20e
|
||||
Q -0a99a8c4facf65ec67d8d86108c9a3f723f7cbd6
|
||||
R a12b99ab1200f8dc9c9bb177fd701c6e
|
||||
U drh
|
||||
Z 48772c507adcfea733ff1f22cebdbc4d
|
||||
|
@ -1 +1 @@
|
||||
18d61c8e40ed1466b6a3a2f53bf0eeb09687c20e
|
||||
204432ee72fda8e82d244c4aa18de7ec4811b8e1
|
@ -739,7 +739,7 @@ static int patternCompare(
|
||||
}
|
||||
c2 = Utf8Read(zString);
|
||||
if( c==c2 ) continue;
|
||||
if( noCase && sqlite3Tolower(c)==sqlite3Tolower(c2) ){
|
||||
if( noCase && c<0x80 && c2<0x80 && sqlite3Tolower(c)==sqlite3Tolower(c2) ){
|
||||
continue;
|
||||
}
|
||||
if( c==matchOne && zPattern!=zEscaped && c2!=0 ) continue;
|
||||
|
@ -964,5 +964,22 @@ do_execsql_test like-12.16 {
|
||||
SELECT id FROM t12b WHERE x LIKE 'abc%' COLLATE binary ORDER BY +id;
|
||||
} {/SCAN/}
|
||||
|
||||
# Ticket [https://www.sqlite.org/src/tktview/80369eddd5c94d49f7fbbcf5]
|
||||
# 2016-01-20
|
||||
#
|
||||
do_execsql_test like-13.1 {
|
||||
SELECT char(0x304d) LIKE char(0x306d);
|
||||
} {0}
|
||||
do_execsql_test like-13.2 {
|
||||
SELECT char(0x4d) LIKE char(0x306d);
|
||||
} {0}
|
||||
do_execsql_test like-13.3 {
|
||||
SELECT char(0x304d) LIKE char(0x6d);
|
||||
} {0}
|
||||
do_execsql_test like-13.4 {
|
||||
SELECT char(0x4d) LIKE char(0x6d);
|
||||
} {1}
|
||||
|
||||
|
||||
|
||||
finish_test
|
||||
|
Loading…
x
Reference in New Issue
Block a user