]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add the "VALUES-as-coroutine" optimization. Large VALUES clauses on an
authordrh <>
Mon, 18 Mar 2024 18:00:17 +0000 (18:00 +0000)
committerdrh <>
Mon, 18 Mar 2024 18:00:17 +0000 (18:00 +0000)
INSERT, for example, prepare and run in about half the time and with half
the memory.  This check-in also includes enhancements to the internal
sqlite3ExprIsConstant() routine to recognize pure SQL functions as constant
if they have constant arguments.

FossilOrigin-Name: a120c9235f125e05be494038c16a9dd326fd79837698bef17e7879cd0cd75831

1  2 
manifest
manifest.uuid

diff --cc manifest
index 345be731242a5ae79da8e6f37ce49ef0fc2fe25a,1e94c6c964f64dceceab556905d3f2a06eabf007..55bb6354bf6fb14122ae3e7c7836c437e4d26fe7
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C New\soptions\sfor\stestrunner.tcl:\s\s--stop-on-error\sand\s--stop-on-coredump.
- D 2024-03-15T17:57:58.502
 -C Fix\sharmless\scompiler\s(scan-build)\swarnings.
 -D 2024-03-18T17:13:52.924
++C Add\sthe\s"VALUES-as-coroutine"\soptimization.\s\sLarge\sVALUES\sclauses\son\san\nINSERT,\sfor\sexample,\sprepare\sand\srun\sin\sabout\shalf\sthe\stime\sand\swith\shalf\nthe\smemory.\s\sThis\scheck-in\salso\sincludes\senhancements\sto\sthe\sinternal\nsqlite3ExprIsConstant()\sroutine\sto\srecognize\spure\sSQL\sfunctions\sas\sconstant\nif\sthey\shave\sconstant\sarguments.
++D 2024-03-18T18:00:17.106
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@@ -2177,8 -2179,8 +2179,9 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P ce009205a8edc02b7d45ac01bd0e692c3d2c3ffeadb68e4f1bad20c39075e692
- R 6f65d3d8f9136f71ba32b06be27a8871
 -P 9a47ea7f0f675f7bf4710901487ce34c7689e618cd1d8b9f94f0ff7ebc3f2841
 -R 99b0c172599c8a90caf2454e462eb6ef
++P 82035b9cfd28ef6b0ecc6f469f03d2b001189aa4925147cdb784b6b1964eb3b2 c86f9f2a15ffc726b7f0d9bba5a8c4dfdaeea6a297e0b591c554fff3d1fe6e1c
++R d086636689a6bb7c4b198edffb3a7c63
++T +closed c86f9f2a15ffc726b7f0d9bba5a8c4dfdaeea6a297e0b591c554fff3d1fe6e1c
  U drh
- Z 3ec0c84d38eb2a8a3a9b0c26445e8068
 -Z e6f67e954fdd4f797f1644f6604d7595
++Z 48e8dd6fe42c5583ed5ba3f909ede536
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index 39c5e3d4e3cf70436dca1d2ac410fff78fec0a45,7f56713a399c0d5b65cd149edcc65ae87a09da6d..82d6efaeee3267b3f52ec68694b65d4d2040a064
@@@ -1,1 -1,1 +1,1 @@@
- 82035b9cfd28ef6b0ecc6f469f03d2b001189aa4925147cdb784b6b1964eb3b2
 -c86f9f2a15ffc726b7f0d9bba5a8c4dfdaeea6a297e0b591c554fff3d1fe6e1c
++a120c9235f125e05be494038c16a9dd326fd79837698bef17e7879cd0cd75831