]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Small performance increase and size reduction in the implementation of the
authordrh <drh@noemail.net>
Tue, 30 Apr 2019 11:54:36 +0000 (11:54 +0000)
committerdrh <drh@noemail.net>
Tue, 30 Apr 2019 11:54:36 +0000 (11:54 +0000)
LIKE and GLOB operators.

FossilOrigin-Name: f97626f921dafe596b615a168ef31987f4a1c0b52956443e1a5c1148b49cab74

manifest
manifest.uuid
src/func.c

index 6efd90d506b8f657dcbd649b7e485c0f6a4a9461..17f6e743ba3e1f5ebd5a246ab8ed0d22c0bdd15f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Slightly\ssmaller\sand\sfaster\simplementation\sof\sthe\sOP_MakeRecord\sopcode.
-D 2019-04-30T01:08:42.471
+C Small\sperformance\sincrease\sand\ssize\sreduction\sin\sthe\simplementation\sof\sthe\nLIKE\sand\sGLOB\soperators.
+D 2019-04-30T11:54:36.560
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -474,7 +474,7 @@ F src/delete.c d08c9e01a2664afd12edcfa3a9c6578517e8ff8735f35509582693adbe0edeaf
 F src/expr.c f65db06a0fcff760cadfb79d579a41e3eb7eff38848d5d6359137822f4fa2ec9
 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
 F src/fkey.c 0e14d4bef8eac2d87bbd517e492d9084c65008d117823f8922c5e7b2b599bd33
-F src/func.c 2ccf4ae12430b1ae7096be5f0675887e1bd0732828af0ac0f7496339b7c6edee
+F src/func.c ac05ea6b47b407586ad2c0878c4c81c3acb08b67ecf86648830f91f40325ae37
 F src/global.c 0dea3065ea72a65ae941559b6686aad6516d4913e76fa4f79a95ff7787f624ec
 F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19
 F src/hash.h 9d56a9079d523b648774c1784b74b89bd93fac7b365210157482e4319a468f38
@@ -1821,7 +1821,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 a27b0b880d76c6838c0365f66bcd69b1b49b7594470993b608f4e490cbdc4882
-R b12c0740e7e730a41b03261e6f060f1c
+P 3bdce7ef1a6bb03affe978243fec603d5a55c071aa6d87c469a3c199d23f3b5e
+R 9a779d76ef4cdc16bf512841a59b2ab4
 U drh
-Z b866775507213d2cd189ff81277fbb67
+Z 487e34d77ec73a391deebf3b3507c69b
index cfd74f4be87d7f183043233850092a7b1ece7619..c0c3e4bb99e356af0c8b636ee0d2cae79632283f 100644 (file)
@@ -1 +1 @@
-3bdce7ef1a6bb03affe978243fec603d5a55c071aa6d87c469a3c199d23f3b5e
\ No newline at end of file
+f97626f921dafe596b615a168ef31987f4a1c0b52956443e1a5c1148b49cab74
\ No newline at end of file
index 03595b70d225a07a6ab16b56e8e07b37fcd089ba..dae85d60a839f8911c91f97f467b8c4cc8b5e0fd 100644 (file)
@@ -843,8 +843,6 @@ static void likeFunc(
     return;
   }
 #endif
-  zB = sqlite3_value_text(argv[0]);
-  zA = sqlite3_value_text(argv[1]);
 
   /* Limit the length of the LIKE or GLOB pattern to avoid problems
   ** of deep recursion and N*N behavior in patternCompare().
@@ -856,8 +854,6 @@ static void likeFunc(
     sqlite3_result_error(context, "LIKE or GLOB pattern too complex", -1);
     return;
   }
-  assert( zB==sqlite3_value_text(argv[0]) );  /* Encoding did not change */
-
   if( argc==3 ){
     /* The escape character string must consist of a single UTF-8 character.
     ** Otherwise, return an error.
@@ -873,6 +869,8 @@ static void likeFunc(
   }else{
     escape = pInfo->matchSet;
   }
+  zB = sqlite3_value_text(argv[0]);
+  zA = sqlite3_value_text(argv[1]);
   if( zA && zB ){
 #ifdef SQLITE_TEST
     sqlite3_like_count++;