summaryrefslogtreecommitdiff
path: root/test/tkt-cbd054fa6b.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/tkt-cbd054fa6b.test')
-rw-r--r--test/tkt-cbd054fa6b.test87
1 files changed, 87 insertions, 0 deletions
diff --git a/test/tkt-cbd054fa6b.test b/test/tkt-cbd054fa6b.test
new file mode 100644
index 0000000..180acf5
--- /dev/null
+++ b/test/tkt-cbd054fa6b.test
@@ -0,0 +1,87 @@
+# 2010 March 25
+#
+# The author disclaims copyright to this source code. In place of
+# a legal notice, here is a blessing:
+#
+# May you do good and not evil.
+# May you find forgiveness for yourself and forgive others.
+# May you share freely, never taking more than you give.
+#
+#***********************************************************************
+#
+# This file implements tests to verify that ticket [cbd054fa6b] has been
+# fixed.
+#
+
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+
+ifcapable !stat3 {
+ finish_test
+ return
+}
+
+do_test tkt-cbd05-1.1 {
+ db eval {
+ CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT UNIQUE NOT NULL);
+ CREATE INDEX t1_x ON t1(b);
+ INSERT INTO t1 VALUES (NULL, '');
+ INSERT INTO t1 VALUES (NULL, 'A');
+ INSERT INTO t1 VALUES (NULL, 'B');
+ INSERT INTO t1 VALUES (NULL, 'C');
+ INSERT INTO t1 VALUES (NULL, 'D');
+ INSERT INTO t1 VALUES (NULL, 'E');
+ INSERT INTO t1 VALUES (NULL, 'F');
+ INSERT INTO t1 VALUES (NULL, 'G');
+ INSERT INTO t1 VALUES (NULL, 'H');
+ INSERT INTO t1 VALUES (NULL, 'I');
+ SELECT count(*) FROM t1;
+ }
+} {10}
+do_test tkt-cbd05-1.2 {
+ db eval {
+ ANALYZE;
+ }
+} {}
+do_test tkt-cbd05-1.3 {
+ execsql {
+ SELECT tbl,idx,group_concat(sample,' ')
+ FROM sqlite_stat3
+ WHERE idx = 't1_x'
+ GROUP BY tbl,idx
+ }
+} {t1 t1_x { A B C D E F G H I}}
+
+do_test tkt-cbd05-2.1 {
+ db eval {
+ DROP TABLE t1;
+ CREATE TABLE t1(a INTEGER PRIMARY KEY, b BLOB UNIQUE NOT NULL);
+ CREATE INDEX t1_x ON t1(b);
+ INSERT INTO t1 VALUES(NULL, X'');
+ INSERT INTO t1 VALUES(NULL, X'41');
+ INSERT INTO t1 VALUES(NULL, X'42');
+ INSERT INTO t1 VALUES(NULL, X'43');
+ INSERT INTO t1 VALUES(NULL, X'44');
+ INSERT INTO t1 VALUES(NULL, X'45');
+ INSERT INTO t1 VALUES(NULL, X'46');
+ INSERT INTO t1 VALUES(NULL, X'47');
+ INSERT INTO t1 VALUES(NULL, X'48');
+ INSERT INTO t1 VALUES(NULL, X'49');
+ SELECT count(*) FROM t1;
+ }
+} {10}
+do_test tkt-cbd05-2.2 {
+ db eval {
+ ANALYZE;
+ }
+} {}
+do_test tkt-cbd05-2.3 {
+ execsql {
+ SELECT tbl,idx,group_concat(sample,' ')
+ FROM sqlite_stat3
+ WHERE idx = 't1_x'
+ GROUP BY tbl,idx
+ }
+} {t1 t1_x { A B C D E F G H I}}
+
+finish_test