From c80937a5f5ec900d898603dfd2d3bc7c47af10fe Mon Sep 17 00:00:00 2001 From: drh Date: Mon, 6 Jun 2016 01:48:14 +0000 Subject: [PATCH] Small performance improvement in the LIKE function. FossilOrigin-Name: 5fb0c35459cf7a8662bf8cd84ac345f6fafda6cc --- manifest | 13 ++++++------- manifest.uuid | 2 +- src/func.c | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index f32e69180f..c43382d993 100644 --- a/manifest +++ b/manifest @@ -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 diff --git a/manifest.uuid b/manifest.uuid index e4a8777eb9..8076fd6a9e 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -2d831074cf730dce47de5880d7b4570d04d15fee \ No newline at end of file +5fb0c35459cf7a8662bf8cd84ac345f6fafda6cc \ No newline at end of file diff --git a/src/func.c b/src/func.c index 4feedc7440..78c8806456 100644 --- a/src/func.c +++ b/src/func.c @@ -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;