| Index: third_party/sqlite/src/test/analyze.test
|
| diff --git a/third_party/sqlite/src/test/analyze.test b/third_party/sqlite/src/test/analyze.test
|
| index 766cd50d1fce0da503b19ec4ced0e1a854e4bb8a..c44508426396de42b8b877156a7687e5aa497d3d 100644
|
| --- a/third_party/sqlite/src/test/analyze.test
|
| +++ b/third_party/sqlite/src/test/analyze.test
|
| @@ -287,6 +287,65 @@ do_test analyze-4.3 {
|
| }
|
| } {}
|
|
|
| +# Verify that DROP TABLE and DROP INDEX remove entries from the
|
| +# sqlite_stat1, sqlite_stat3 and sqlite_stat4 tables.
|
| +#
|
| +do_test analyze-5.0 {
|
| + execsql {
|
| + DELETE FROM t3;
|
| + DELETE FROM t4;
|
| + INSERT INTO t3 VALUES(1,2,3,4);
|
| + INSERT INTO t3 VALUES(5,6,7,8);
|
| + INSERT INTO t3 SELECT a+8, b+8, c+8, d+8 FROM t3;
|
| + INSERT INTO t3 SELECT a+16, b+16, c+16, d+16 FROM t3;
|
| + INSERT INTO t3 SELECT a+32, b+32, c+32, d+32 FROM t3;
|
| + INSERT INTO t3 SELECT a+64, b+64, c+64, d+64 FROM t3;
|
| + INSERT INTO t4 SELECT a, b, c FROM t3;
|
| + ANALYZE;
|
| + SELECT DISTINCT idx FROM sqlite_stat1 ORDER BY 1;
|
| + SELECT DISTINCT tbl FROM sqlite_stat1 ORDER BY 1;
|
| + }
|
| +} {t3i1 t3i2 t3i3 t4i1 t4i2 t3 t4}
|
| +ifcapable stat4||stat3 {
|
| + ifcapable stat4 {set stat sqlite_stat4} else {set stat sqlite_stat3}
|
| + do_test analyze-5.1 {
|
| + execsql "
|
| + SELECT DISTINCT idx FROM $stat ORDER BY 1;
|
| + SELECT DISTINCT tbl FROM $stat ORDER BY 1;
|
| + "
|
| + } {t3i1 t3i2 t3i3 t4i1 t4i2 t3 t4}
|
| +}
|
| +do_test analyze-5.2 {
|
| + execsql {
|
| + DROP INDEX t3i2;
|
| + SELECT DISTINCT idx FROM sqlite_stat1 ORDER BY 1;
|
| + SELECT DISTINCT tbl FROM sqlite_stat1 ORDER BY 1;
|
| + }
|
| +} {t3i1 t3i3 t4i1 t4i2 t3 t4}
|
| +ifcapable stat4||stat3 {
|
| + do_test analyze-5.3 {
|
| + execsql "
|
| + SELECT DISTINCT idx FROM $stat ORDER BY 1;
|
| + SELECT DISTINCT tbl FROM $stat ORDER BY 1;
|
| + "
|
| + } {t3i1 t3i3 t4i1 t4i2 t3 t4}
|
| +}
|
| +do_test analyze-5.4 {
|
| + execsql {
|
| + DROP TABLE t3;
|
| + SELECT DISTINCT idx FROM sqlite_stat1 ORDER BY 1;
|
| + SELECT DISTINCT tbl FROM sqlite_stat1 ORDER BY 1;
|
| + }
|
| +} {t4i1 t4i2 t4}
|
| +ifcapable stat4||stat3 {
|
| + do_test analyze-5.5 {
|
| + execsql "
|
| + SELECT DISTINCT idx FROM $stat ORDER BY 1;
|
| + SELECT DISTINCT tbl FROM $stat ORDER BY 1;
|
| + "
|
| + } {t4i1 t4i2 t4}
|
| +}
|
| +
|
| # This test corrupts the database file so it must be the last test
|
| # in the series.
|
| #
|
| @@ -302,5 +361,4 @@ do_test analyze-99.1 {
|
| }
|
| } {1 {malformed database schema (sqlite_stat1) - near "nonsense": syntax error}}
|
|
|
| -
|
| finish_test
|
|
|