From: drh Date: Tue, 4 Jan 2011 17:57:53 +0000 (+0000) Subject: The ANALYZE command now counts at all rows of an index, even those containing X-Git-Tag: version-3.7.5~56 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8e93b10a4e20d2d4f7683bbc350f39e7ca534e7e;p=thirdparty%2Fsqlite.git The ANALYZE command now counts at all rows of an index, even those containing NULL values. A valid sqlite_stat1 entry is created even if the index contains nothing but NULLs. FossilOrigin-Name: 824c8dd3015bbd5c8a1dd661cfe09fe5bf7a80d3 --- diff --git a/manifest b/manifest index 287040a5de..05d30be4a9 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,8 @@ -C Have\stestfixture\sinvoke\sC\sroutine\sZipvfs_Init()\swhen\screating\sa\snew\sinterpreter\sif\sSQLITE_ENABLE_ZIPVFS\sis\sdefined. -D 2010-12-29T18:24:39 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +C The\sANALYZE\scommand\snow\scounts\sat\sall\srows\sof\san\sindex,\seven\sthose\scontaining\nNULL\svalues.\s\sA\svalid\ssqlite_stat1\sentry\sis\screated\seven\sif\sthe\sindex\scontains\nnothing\sbut\sNULLs. +D 2011-01-04T17:57:54 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in de6498556d536ae60bb8bb10e8c1ba011448658c F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -113,7 +116,7 @@ F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b F sqlite3.1 6be1ad09113570e1fc8dcaff84c9b0b337db5ffc F sqlite3.pc.in ae6f59a76e862f5c561eb32a380228a02afc3cad F src/alter.c 6a0c176e64a34929a4436048066a84ef4f1445b3 -F src/analyze.c 1ea594a912a14138e20a05db09d9065e46f29a2a +F src/analyze.c 62ccd3a44e5c303bfa27987c596bfd1136741d81 F src/attach.c 252c4f7e36cc219349451ed63e278c60e80b26f3 F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34 F src/backup.c d5b0137bc20327af08c14772227cc35134839c30 @@ -252,6 +255,7 @@ F test/altermalloc.test e81ac9657ed25c6c5bb09bebfa5a047cd8e4acfc F test/analyze.test c1eb87067fc16ece7c07e823d6395fd831b270c5 F test/analyze2.test 3bde8f0879d9c1f2df3af21fcf42e706d8ee1e43 F test/analyze3.test 820ddfb7591b49607fbaf77240c7955ac3cabb04 +F test/analyze4.test ce844952931beea75dcd3bd416f3d10444fbcfde F test/async.test ad4ba51b77cd118911a3fe1356b0809da9c108c3 F test/async2.test bf5e2ca2c96763b4cba3d016249ad7259a5603b6 F test/async3.test 93edaa9122f498e56ea98c36c72abc407f4fb11e @@ -894,7 +898,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 7ded90baeb75db5af83345cd2c31211cbee1e91b -R d42c36fbd6ce68590e6e0dd8ec4c5c18 -U dan -Z 8593c64ef1af55c2ba01b9032057e1e5 +P 430635dacfa818e8266a88214aaf60c77862de1c +R ec45ba633f0c4f96e6a484b9eb344d5c +U drh +Z cde307ce45c85e17f986af467042bf4f +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQFNI1+moxKgR168RlERAjnJAJ4o8v4Qvkj2Lt5p/tc7Gw/iz0iScACeJQd8 +a939JIEB/46ZOm5/OzfvI/M= +=dmuf +-----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index 23c1ab40b8..ec7d8b96b4 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -430635dacfa818e8266a88214aaf60c77862de1c \ No newline at end of file +824c8dd3015bbd5c8a1dd661cfe09fe5bf7a80d3 \ No newline at end of file diff --git a/src/analyze.c b/src/analyze.c index 159e323612..96fd4e4703 100644 --- a/src/analyze.c +++ b/src/analyze.c @@ -234,8 +234,8 @@ static void analyzeOneTable( for(i=0; imallocFailed ){ /* If a malloc failure has occurred, then the result of the expression @@ -280,7 +282,11 @@ static void analyzeOneTable( } sqlite3VdbeAddOp2(v, OP_Goto, 0, endOfLoop); for(i=0; i