]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
In the STAT4 computations, ensure that the aAvgEq values do not go negative.
authordrh <drh@noemail.net>
Wed, 11 Jan 2017 14:15:29 +0000 (14:15 +0000)
committerdrh <drh@noemail.net>
Wed, 11 Jan 2017 14:15:29 +0000 (14:15 +0000)
FossilOrigin-Name: f58f75b5a06f88ba97bd1a02bee621c64691c6f8

manifest
manifest.uuid
src/analyze.c

index d7b4aa7e624bed243f1ca4a9fb7bf4ebf5c90b5f..60b608e6c70f956ae72439113e42b35cffa831b9 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sa\stest\scase\sfor\sticket\s[25e335f802dd].
-D 2017-01-10T17:37:49.188
+C In\sthe\sSTAT4\scomputations,\sensure\sthat\sthe\saAvgEq\svalues\sdo\snot\sgo\snegative.
+D 2017-01-11T14:15:29.635
 F Makefile.in 41bd4cad981487345c4a84081074bcdb876e4b2e
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc b8ca53350ae545e3562403d5da2a69cec79308da
@@ -325,7 +325,7 @@ F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
 F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786
 F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
 F src/alter.c 3b23977620ce9662ac54443f65b87ba996e36121
-F src/analyze.c 3c4a63ff7a55faefecf6eb1589932fdbc06b2415
+F src/analyze.c 317dbaf31c16050582b09bf4f323b4e0f1813251
 F src/attach.c 8c476f8bd5d2afe11d925f890d30e527e5b0ce43
 F src/auth.c 930b376a9c56998557367e6f7f8aaeac82a2a792
 F src/backup.c faf17e60b43233c214aae6a8179d24503a61e83b
@@ -1543,7 +1543,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 c92ecff2ec5f178433d21f25c653d0fdd9128d7c
-R e5ba5e796b740bb6ab62d42fde094373
-U dan
-Z ef9b8c72a2a40eee5e78f0752f5e6ce0
+P e500c15a9f55aed1601f7c14169dd56fd76f1fdd
+R 5c2e2ea0b7d53513cb0d1e5b25773986
+U drh
+Z ed5473ac37dfd76118f46ef5f94f7fb6
index 34fbf06d327683440879a2a7aa95e3c3296d79cf..1657a590c98c840e1cce7a669cdec11bd758efa6 100644 (file)
@@ -1 +1 @@
-e500c15a9f55aed1601f7c14169dd56fd76f1fdd
\ No newline at end of file
+f58f75b5a06f88ba97bd1a02bee621c64691c6f8
\ No newline at end of file
index c480a0c5079530aa4d4a0760b43c122d7396f972..c079132f4a04c0fb6ed001fdd6a4a420b5da98cd 100644 (file)
@@ -1615,7 +1615,7 @@ static void initAvgEq(Index *pIdx){
         }
       }
 
-      if( nDist100>nSum100 ){
+      if( nDist100>nSum100 && sumEq<nRow ){
         avgEq = ((i64)100 * (nRow - sumEq))/(nDist100 - nSum100);
       }
       if( avgEq==0 ) avgEq = 1;