Small performance improvement in the LIKE function.

FossilOrigin-Name: 5fb0c35459cf7a8662bf8cd84ac345f6fafda6cc
This commit is contained in:
drh 2016-06-06 01:48:14 +00:00
parent 5cd22006ef
commit c80937a5f5
3 changed files with 8 additions and 9 deletions

View File

@ -1,5 +1,5 @@
C Btree\sinterface\srefactoring:\n(1)\sThe\ssqlite3BtreeKeySize()\sinterface\sis\srenamed\sto\ssqlite3BtreeIntegerKey()\nand\smodified\sto\swork\sonly\sfor\stable\sbtrees\swith\sa\srowid.\n(2)\sThe\ssqlite3BtreeDataSize()\sinterface\sis\srenamed\sto\ssqlite3BtreePayloadSize()\nand\smodified\sto\swork\swith\sany\sbtree.\n(3)\sThe\ssqlite3BtreeDataFetch()\sand\ssqlite3BtreeKeyFetch()\sroutines\sare\ncombined\sinto\sa\ssingle\ssqlite3BtreePayloadFetch()\sroutine.\nThe\sresult\sof\sthese\schanges\sis\sa\ssmaller\sbinary\sand\sfewer\sCPU\scycles\sneeded\nto\srun\squeries.
D 2016-06-06T01:14:08.809
C Small\sperformance\simprovement\sin\sthe\sLIKE\sfunction.
D 2016-06-06T01:48:14.262
F Makefile.in 7321ef0b584224781ec7731408857fa8962c32cc
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 831503fc4e988f571590af1405645fff121b5f1e
@ -339,7 +339,7 @@ F src/delete.c 4aba4214a377ce8ddde2d2e609777bcc8235200f
F src/expr.c 798146ea4c87d723e8a157d88450ac9c43256998
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
F src/fkey.c bc4145347595b7770f9a598cff1c848302cf5413
F src/func.c ef4c18c8a66143413ce41a58d582d2c14ddf78e1
F src/func.c 61a4114cf7004f10c542cfabbab9f2bcb9033045
F src/global.c c45ea22aff29334f6a9ec549235ac3357c970015
F src/hash.c 55b5fb474100cee0b901edaf203e26c970940f36
F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094
@ -1500,8 +1500,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P b411107a3609d53af4e147f01e311b858b78420b 5e269c2d2667df65592a32d6bc2fa388fd7eb181
R 31679baf828d6d3e0ee835dac82e6874
T +closed 5e269c2d2667df65592a32d6bc2fa388fd7eb181
P 2d831074cf730dce47de5880d7b4570d04d15fee
R 55f60418d6dcbf8aee4f5a82499e5642
U drh
Z e9c5ee5d96d9c9f1da27014117e66fa4
Z 55a25f2496cfdeb6e61ef11536fc4f7e

View File

@ -1 +1 @@
2d831074cf730dce47de5880d7b4570d04d15fee
5fb0c35459cf7a8662bf8cd84ac345f6fafda6cc

View File

@ -740,7 +740,7 @@ static int patternCompare(
}
c2 = Utf8Read(zString);
if( c==c2 ) continue;
if( noCase && c<0x80 && c2<0x80 && sqlite3Tolower(c)==sqlite3Tolower(c2) ){
if( noCase && sqlite3Tolower(c)==sqlite3Tolower(c2) && c<0x80 && c2<0x80 ){
continue;
}
if( c==matchOne && zPattern!=zEscaped && c2!=0 ) continue;