]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Reactivate the analyze5.test script. stat2-enhancement
authordrh <drh@noemail.net>
Fri, 28 Jan 2011 03:13:58 +0000 (03:13 +0000)
committerdrh <drh@noemail.net>
Fri, 28 Jan 2011 03:13:58 +0000 (03:13 +0000)
FossilOrigin-Name: a2a9f6401c927f6259cda3ba35219cabef24e84d

manifest
manifest.uuid
test/analyze5.test

index d4624a6e59dccf98e0afbd79e3de9755bd1243c3..30a2df5c4d6d39692b9f535c9ae4e814547efec3 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Change\sthe\sweighting\sof\sbinary\ssearches\son\stables\sto\s1/10th\sthe\scost\sof\sa\nsearch\son\san\sindex.\s\sChange\sthe\sassumed\sreduction\sin\ssearch\sspace\sfrom\sa\nindexed\srange\sconstraint\sfrom\s1/3rd\sto\s1/4th.\s\sDo\snot\slet\sthe\sestimated\s\nnumber\sof\srows\sdrop\sbelow\s1.
-D 2011-01-28T01:57:41.767
+C Reactivate\sthe\sanalyze5.test\sscript.
+D 2011-01-28T03:13:58.522
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in de6498556d536ae60bb8bb10e8c1ba011448658c
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -256,7 +256,7 @@ F test/analyze.test c1eb87067fc16ece7c07e823d6395fd831b270c5
 F test/analyze2.test 8f2b1534d43f5547ce9a6b736c021d4192c75be3
 F test/analyze3.test d61f55d8b472fc6e713160b1e577f7a68e63f38b
 F test/analyze4.test 757b37875cf9bb528d46f74497bc789c88365045
-F test/analyze5.test 12df6def85e21971888f8be3c1867a505f1bf587
+F test/analyze5.test 18659612dd854330b9f2a0bf4c90658f3739fd67
 F test/async.test ad4ba51b77cd118911a3fe1356b0809da9c108c3
 F test/async2.test bf5e2ca2c96763b4cba3d016249ad7259a5603b6
 F test/async3.test 93edaa9122f498e56ea98c36c72abc407f4fb11e
@@ -900,14 +900,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 31fcc7067bd76da4bf19232811b90cf8b76eed74
-R f9a9d7b39b29b332b353f1913f9309e4
+P 4847c6cb71423248b186ab7842b97c83e2f5fefd
+R 2a7cda6de985ac7d8bc394704ea20bbe
 U drh
-Z 1ad30d06ebdb0226c333d2dcf85b95e8
+Z 90a99f0eefff820df6066cb462690f7d
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFNQiKZoxKgR168RlERAjJeAJ9DU+63Qt3QOlsjnHQ7MP5GX/m8egCfe8c1
-SQn1lZ3E7QkvjZ3JOaQppDw=
-=0Mzf
+iD8DBQFNQjR5oxKgR168RlERArUiAJ91iPioq77gB015ZhcABywWj5kEnACghSgp
+HH7RJ7G2ecFXfbSqcbfkm08=
+=pv9L
 -----END PGP SIGNATURE-----
index 50652bbd99991d76c538995f373f75662aace697..61f326c2b74a3445a85eb6823020694223f7ad21 100644 (file)
@@ -1 +1 @@
-4847c6cb71423248b186ab7842b97c83e2f5fefd
\ No newline at end of file
+a2a9f6401c927f6259cda3ba35219cabef24e84d
\ No newline at end of file
index 6366439f53c1daf0590d28fb5af4de13b56abf4d..93b8b2e01f72d05226e0d6d572e6642d2e6068f9 100644 (file)
@@ -14,8 +14,6 @@
 # with many repeated values and only a few distinct values.
 #
 
-return
-
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
@@ -104,8 +102,8 @@ foreach {testid where index rows} {
    18  {z>=-100 AND z<0}     t1z   50
    19  {z>=-100 AND z<=1}    t1z  700
    20  {z>=-100 AND z<2}     t1z  700
-   21  {z>=-100 AND z<=2}    t1z  900
-   22  {z>=-100 AND z<3}     t1z  900
+   21  {z>=-100 AND z<=2}    {}   111
+   22  {z>=-100 AND z<3}     {}   111
   
    31  {z>=0.0 AND z<=0.0}   t1z  400
    32  {z>=1.0 AND z<=1.0}   t1z  300
@@ -127,8 +125,8 @@ foreach {testid where index rows} {
    48  {z>=-100 AND z<0.0}   t1z   50
    49  {z>=-100 AND z<=1.0}  t1z  700
    50  {z>=-100 AND z<2.0}   t1z  700
-   51  {z>=-100 AND z<=2.0}  t1z  900
-   52  {z>=-100 AND z<3.0}   t1z  900
+   51  {z>=-100 AND z<=2.0}  {}   111
+   52  {z>=-100 AND z<3.0}   {}   111
   
   101  {z=-1}                t1z   50
   102  {z=0}                 t1z  400
@@ -153,7 +151,7 @@ foreach {testid where index rows} {
   206  {z IN (4)}            t1z   50
   207  {z IN (0.5)}          t1z   50
   208  {z IN (0,1)}          t1z  700
-  209  {z IN (0,1,2)}        t1z  900
+  209  {z IN (0,1,2)}        {}   100
   210  {z IN (0,1,2,3)}      {}   100
   211  {z IN (0,1,2,3,4,5)}  {}   100
   212  {z IN (1,2)}          t1z  500
@@ -191,153 +189,6 @@ foreach {testid where index rows} {
     set res
   } {ok}
 }
-exit
-
-# Change the table values from integer to floating point and then
-# repeat the same sequence of tests.  We should get the same results.
-#
-do_test analyze5-2.0 {
-  db eval {
-    UPDATE t1 SET z=z+0.0;
-    ANALYZE;
-    SELECT sample FROM sqlite_stat2 WHERE idx='t1z' ORDER BY sampleno;
-  }
-} {0.0 0.0 0.0 0.0 1.0 1.0 1.0 2.0 2.0 3.0}
-foreach {testid where rows} {
-  1  {z>=0 AND z<=0}     400
-  2  {z>=1 AND z<=1}     300
-  3  {z>=2 AND z<=2}     200
-  4  {z>=3 AND z<=3}     100
-  5  {z>=4 AND z<=4}      50
-  6  {z>=-1 AND z<=-1}    50
-  7  {z>1 AND z<3}       200
-  8  {z>0 AND z<100}     600
-  9  {z>=1 AND z<100}    600
- 10  {z>1 AND z<100}     300
- 11  {z>=2 AND z<100}    300
- 12  {z>2 AND z<100}     100
- 13  {z>=3 AND z<100}    100
- 14  {z>3 AND z<100}      50
- 15  {z>=4 AND z<100}     50
- 16  {z>=-100 AND z<=-1}  50
- 17  {z>=-100 AND z<=0}  400
- 18  {z>=-100 AND z<0}    50
- 19  {z>=-100 AND z<=1}  700
- 20  {z>=-100 AND z<2}   700
- 21  {z>=-100 AND z<=2}  900
- 22  {z>=-100 AND z<3}   900
-
- 31  {z>=0.0 AND z<=0.0}   400
- 32  {z>=1.0 AND z<=1.0}   300
- 33  {z>=2.0 AND z<=2.0}   200
- 34  {z>=3.0 AND z<=3.0}   100
- 35  {z>=4.0 AND z<=4.0}    50
- 36  {z>=-1.0 AND z<=-1.0}  50
- 37  {z>1.5 AND z<3.0}     200
- 38  {z>0.5 AND z<100}     600
- 39  {z>=1.0 AND z<100}    600
- 40  {z>1.5 AND z<100}     300
- 41  {z>=2.0 AND z<100}    300
- 42  {z>2.1 AND z<100}     100
- 43  {z>=3.0 AND z<100}    100
- 44  {z>3.2 AND z<100}      50
- 45  {z>=4.0 AND z<100}     50
- 46  {z>=-100 AND z<=-1.0}  50
- 47  {z>=-100 AND z<=0.0}  400
- 48  {z>=-100 AND z<0.0}    50
- 49  {z>=-100 AND z<=1.0}  700
- 50  {z>=-100 AND z<2.0}   700
- 51  {z>=-100 AND z<=2.0}  900
- 52  {z>=-100 AND z<3.0}   900
-} {
-  do_test analyze5-2.$testid {
-    eqp "SELECT * FROM t1 WHERE $where"
-  } [format {0 0 0 {SEARCH TABLE t1 USING INDEX t1z (z>? AND z<?) (~%d rows)}} \
-       $rows]
-}
-foreach {testid where rows} {
-  101  {z=-1}           50
-  102  {z=0}            400
-  103  {z=1}            300
-  104  {z=2}            200
-  105  {z=3}            100
-  106  {z=4}             50
-  107  {z=-10.0}         50
-  108  {z=0.0}          400
-  109  {z=1.0}          300
-  110  {z=2.0}          200
-  111  {z=3.0}          100
-  112  {z=4.0}           50
-  113  {z=1.5}           50
-  114  {z=2.5}           50
-} {
-  do_test analyze5-2.$testid {
-    eqp "SELECT * FROM t1 WHERE $where"
-  } [format {0 0 0 {SEARCH TABLE t1 USING INDEX t1z (z=?) (~%d rows)}} $rows]
-}
-
-
-# Repeat the same range query tests using TEXT columns.
-#
-do_test analyze5-3.0 {
-  db eval {
-    UPDATE t1 SET y=CASE z WHEN 0 THEN 'alpha' WHEN 1 THEN 'bravo'
-                           WHEN 2 THEN 'charlie' ELSE 'delta' END;
-    ANALYZE;
-    SELECT sample FROM sqlite_stat2 WHERE idx='t1y' ORDER BY sampleno;
-  }
-} {alpha alpha alpha alpha bravo bravo bravo charlie charlie delta}
-foreach {testid where rows} {
-  1  {y>='alpha' AND y<='alpha'}     400
-  2  {y>='bravo' AND y<='bravo'}     300
-  3  {y>='charlie' AND y<='charlie'} 200
-  4  {y>='delta' AND y<='delta'}     100
-  5  {y>='echo' AND y<='echo'}        50
-  6  {y>='' AND y<=''}                50
-  7  {y>'bravo' AND y<'delta'}       200
-  8  {y>'alpha' AND y<'zzz'}         600
-  9  {y>='bravo' AND y<'zzz'}        600
- 10  {y>'bravo' AND y<'zzz'}         300
- 11  {y>='charlie' AND y<'zzz'}      300
- 12  {y>'charlie' AND y<'zzz'}       100
- 13  {y>='delta' AND y<'zzz'}        100
- 14  {y>'delta' AND y<'zzz'}          50
- 15  {y>='echo' AND y<'zzz'}          50
- 16  {y>=0 AND y<=''}                 50
- 17  {y>=0 AND y<='alpha'}           400
- 18  {y>=0 AND y<'alpha'}             50
- 19  {y>=0 AND y<='bravo'}           700
- 20  {y>=0 AND y<'charlie'}          700
- 21  {y>=0 AND y<='charlie'}         900
- 22  {y>=0 AND y<'delta'}            900
- 23  {y>'alpha' AND y<x'00'}         600
- 24  {y>='bravo' AND y<x'00'}        600
- 25  {y>'bravo' AND y<x'00'}         300
- 26  {y>='charlie' AND y<x'00'}      300
- 27  {y>'charlie' AND y<x'00'}       100
- 28  {y>='delta' AND y<x'00'}        100
- 29  {y>'delta' AND y<x'00'}          50
- 30  {y>='echo' AND y<x'00'}          50
-} {
-  do_test analyze5-3.$testid {
-    eqp "SELECT * FROM t1 WHERE $where"
-  } [format {0 0 0 {SEARCH TABLE t1 USING INDEX t1y (y>? AND y<?) (~%d rows)}} \
-       $rows]
-}
-foreach {testid where rows} {
-  101  {y=0}                  50
-  102  {y='alpha'}            400
-  103  {y='bravo'}            300
-  104  {y='charlie'}          200
-  105  {y='delta'}            100
-  106  {y='echo'}             50
-  107  {y=''}                 50
-  108  {y=x'0102'}            50
-} {
-  do_test analyze5-3.$testid {
-    eqp "SELECT * FROM t1 WHERE $where"
-  } [format {0 0 0 {SEARCH TABLE t1 USING INDEX t1y (y=?) (~%d rows)}} $rows]
-}
 
 
 finish_test