]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Enhancements to PRAGMA optimize and ANALYZE. Add the 0x10000 flag to
authordrh <>
Tue, 20 Feb 2024 12:48:00 +0000 (12:48 +0000)
committerdrh <>
Tue, 20 Feb 2024 12:48:00 +0000 (12:48 +0000)
PRAGMA optimize.  ANALYZE now records zero-size partial indexes in the
sqlite_stat1 table.  PRAGMA optimize looks for both growth and shrinkage
in table sizes, and uses tighter bounds (10x rather than 25x) to trigger
a re-analyze.  PRAGMA optimize automatically uses are reasonable
analysis_limit to prevent excessive runtimes.

FossilOrigin-Name: 63ef234e88857a653fa3541e80d59802ceccb806ac8296e8bae79a385b7086f7

1  2 
manifest
manifest.uuid

diff --cc manifest
index 1fd935940cb2649f36a3f0e1d544cb7845d97cb5,e83a2aea801a845f1bcc9d915763243bd156c267..c071235824e7bbef619cef3a746940803b205575
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Extend\sthe\sstrerror_r()\sresult\stype\sdiscrepancy\scheck\sin\sos_unix.c\sto\sinclude\sthe\sAndroid\sNDK,\sas\sreported\sin\s[forum\spost\s3f13857fa4062301|forum:3f13857fa4062301].\sThe\sNDK's\sstrerror_r()\ssignature\sis\sversion-dependent,\swhereas\sthis\schange\sassumes\sint\sreturn\s(POSIX\ssemantic)\sacross\sall\sversions.
- D 2024-02-19T12:20:46.413
 -C Another\ssimplification\sof\sthe\sPRAGMA\soptimize\slogic\sfor\simproved\scoverage.
 -D 2024-02-20T12:14:07.075
++C Enhancements\sto\sPRAGMA\soptimize\sand\sANALYZE.\s\sAdd\sthe\s0x10000\sflag\sto\nPRAGMA\soptimize.\s\sANALYZE\snow\srecords\szero-size\spartial\sindexes\sin\sthe\nsqlite_stat1\stable.\s\sPRAGMA\soptimize\slooks\sfor\sboth\sgrowth\sand\sshrinkage\nin\stable\ssizes,\sand\suses\stighter\sbounds\s(10x\srather\sthan\s25x)\sto\strigger\na\sre-analyze.\s\sPRAGMA\soptimize\sautomatically\suses\sare\sreasonable\nanalysis_limit\sto\sprevent\sexcessive\sruntimes.
++D 2024-02-20T12:48:00.737
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@@ -2162,8 -2162,8 +2162,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 7fca1bc482fc2456d75392eb42f768fda72631c9070de46b8123b1126e78306f
- R a2e48d1032c74dc590366e533d9ce522
- U stephan
- Z f46d908a23e6be0d034c20949f0d6956
 -P ed5afebc410e3d430e2428d35f027bffb218e5f11036a42f97b080153e89016e
++P f18b2524da6bbbcf372b292df52fbe6efa49fd6e1f1f13ef2447279d559f7a08 6c5a0c85454e3c658e51fab611c169c034447174022eebc52fd8619b528a4765
+ R 1d7e6aefb784a3b060fc17ebc00f9588
++T +closed 6c5a0c85454e3c658e51fab611c169c034447174022eebc52fd8619b528a4765
+ U drh
 -Z 39fd458c30bb322f77d1633b20055bca
++Z b62a3cf41afb08b6428ca7c918282668
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index ed8ee25bd199cb09fb9c44304eae437cd29d3da4,a30b6b20819cb9839d25febd050b88284455df33..54028cc0d8544de1599ed6b083f33c5b878a5e4a
@@@ -1,1 -1,1 +1,1 @@@
- f18b2524da6bbbcf372b292df52fbe6efa49fd6e1f1f13ef2447279d559f7a08
 -6c5a0c85454e3c658e51fab611c169c034447174022eebc52fd8619b528a4765
++63ef234e88857a653fa3541e80d59802ceccb806ac8296e8bae79a385b7086f7