]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Mark the REGEXP operator in the built-in extension as deterministic.
authordrh <>
Fri, 31 Dec 2021 22:53:15 +0000 (22:53 +0000)
committerdrh <>
Fri, 31 Dec 2021 22:53:15 +0000 (22:53 +0000)
FossilOrigin-Name: e654b57a9fc32021453eed48d1c1bba65c833fb1aac3946567968c877e4cbd10

ext/misc/regexp.c
manifest
manifest.uuid

index f282e777f0b3149d86d5e9e57159544e2f892f4d..b626ca424ad73e3f7b38d6611b4ceaafc24ee2a5 100644 (file)
@@ -759,13 +759,15 @@ int sqlite3_regexp_init(
   int rc = SQLITE_OK;
   SQLITE_EXTENSION_INIT2(pApi);
   (void)pzErrMsg;  /* Unused */
-  rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS,
-                               0, re_sql_func, 0, 0);
+  rc = sqlite3_create_function(db, "regexp", 2, 
+                            SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
+                            0, re_sql_func, 0, 0);
   if( rc==SQLITE_OK ){
     /* The regexpi(PATTERN,STRING) function is a case-insensitive version
     ** of regexp(PATTERN,STRING). */
-    rc = sqlite3_create_function(db, "regexpi", 2, SQLITE_UTF8|SQLITE_INNOCUOUS,
-                                 (void*)db, re_sql_func, 0, 0);
+    rc = sqlite3_create_function(db, "regexpi", 2,
+                            SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
+                            (void*)db, re_sql_func, 0, 0);
   }
   return rc;
 }
index 743fe4b8586ccbf87054d11b837fb547d05c6cc8..e5460b6ec624465d6b755889003cd5eb84f82134 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Simplify\sthe\ssqlite3RunParser()\sroutine\sby\somitting\sthe\sthird\sparameter.\nResults\sin\sa\sbinary\sthat\sis\sabout\s100\sbytes\ssmaller\sand\s1.4M\scycles\sfaster.
-D 2021-12-31T19:20:42.871
+C Mark\sthe\sREGEXP\soperator\sin\sthe\sbuilt-in\sextension\sas\sdeterministic.
+D 2021-12-31T22:53:15.455
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -316,7 +316,7 @@ F ext/misc/noop.c 81efe4cad9ec740e64388b14281cb983e6e2c223fed43eb77ab3e34946e0c1
 F ext/misc/normalize.c bd84355c118e297522aba74de34a4fd286fc775524e0499b14473918d09ea61f
 F ext/misc/percentile.c b9086e223d583bdaf8cb73c98a6539d501a2fc4282654adbfea576453d82e691
 F ext/misc/prefixes.c 0f4f8cff5aebc00a7e3ac4021fd59cfe1a8e17c800ceaf592859ecb9cbc38196
-F ext/misc/regexp.c 8cd0d2d904bf7014ba28beab8c1d502b5154e04a8c738b079d88e4ecca1b3981
+F ext/misc/regexp.c b267fd05ff8d38b22f4c2809d7b7a2c61d522e9faf2feb928dbb9662e4a3a386
 F ext/misc/remember.c add730f0f7e7436cd15ea3fd6a90fd83c3f706ab44169f7f048438b7d6baa69c
 F ext/misc/rot13.c 51ac5f51e9d5fd811db58a9c23c628ad5f333c173f1fc53c8491a3603d38556c
 F ext/misc/scrub.c 2a44b0d44c69584c0580ad2553f6290a307a49df4668941d2812135bfb96a946
@@ -1935,8 +1935,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P f3ea36d79b6aa95470bf13e8d4ed5250a6b19bc16032b29e4dcdfc49b47a1edf
-R 9f315582dd5d865f63102dfe890440d6
+P 6fb2a1bb0280d6e31291e3fd06bbcbbb28ef5fb27d3898e2327a50ac738ae1f3
+R 37524ca7e93af6feb4e0c3addac0faab
 U drh
-Z 5c22c4e1b2b7a7ad1f263c1472848dc2
+Z 4c0eed7b705bf6eda3da29ad39dbce44
 # Remove this line to create a well-formed Fossil manifest.
index dca455e62e6ed0b1b64632c463bf6d475b20e916..f87f8afd4d9a6f1f053cbfc6c05f8f28be193070 100644 (file)
@@ -1 +1 @@
-6fb2a1bb0280d6e31291e3fd06bbcbbb28ef5fb27d3898e2327a50ac738ae1f3
\ No newline at end of file
+e654b57a9fc32021453eed48d1c1bba65c833fb1aac3946567968c877e4cbd10
\ No newline at end of file