summaryrefslogtreecommitdiff
path: root/storage/tokudb/mysql-test/tokudb_bugs/t/2219.test
diff options
context:
space:
mode:
Diffstat (limited to 'storage/tokudb/mysql-test/tokudb_bugs/t/2219.test')
-rwxr-xr-xstorage/tokudb/mysql-test/tokudb_bugs/t/2219.test59
1 files changed, 59 insertions, 0 deletions
diff --git a/storage/tokudb/mysql-test/tokudb_bugs/t/2219.test b/storage/tokudb/mysql-test/tokudb_bugs/t/2219.test
new file mode 100755
index 00000000000..c61f4eca191
--- /dev/null
+++ b/storage/tokudb/mysql-test/tokudb_bugs/t/2219.test
@@ -0,0 +1,59 @@
+# ticket 895 is a query optimization problem with the primary key
+
+--source include/have_tokudb.inc
+SET DEFAULT_STORAGE_ENGINE = 'tokudb';
+
+--disable_warnings
+DROP TABLE IF EXISTS foo;
+--enable_warnings
+
+create table foo (a int, b int, c int, d int, primary key (a), key (b), clustering key (c)) engine=TokuDB;
+insert into foo values (1,10,100,1000),(2,20,200,2000),(3,30,300,3000),(4,40,400,4000),(5,50,500,5000);
+
+select * from foo use index ();
+select b,a from foo;
+select * from foo order by c desc;
+
+alter table foo drop primary key;
+select * from foo use index ();
+select b from foo;
+select * from foo order by c desc;
+
+drop table foo;
+create table foo (a int, primary key (a))engine=TOkuDB;
+insert into foo values (1),(2),(3),(4);
+select * from foo;
+--error ER_DUP_ENTRY
+insert into foo values (2);
+
+insert ignore into foo values (5),(2),(6);
+select * From foo;
+alter table foo drop primary key;
+alter table foo add unique index (a);
+--error ER_DUP_ENTRY
+insert into foo values (3);
+insert ignore into foo values (7),(2),(8);
+select * from foo;
+
+drop table foo;
+create table foo (a int, b int, c int, d int, primary key (a), key (b), clustering key (c))engine=TokuDB;
+insert into foo values (1,10,100,1000),(2,20,200,2000),(3,30,300,3000),(4,40,400,4000),(5,50,500,5000);
+select * from foo;
+update foo set b=b+1;
+select * From foo;
+select b,a from foo;
+update foo set c=c+1;
+select * from foo;
+select c,a from foo order by c desc;
+update foo set a=a+1 where a=5;
+select * from foo;
+select a from foo;
+
+delete from foo where a > 3;
+select * from foo;
+select b,a from foo;
+select * from foo order by c desc;
+
+
+# Final cleanup.
+DROP TABLE foo; \ No newline at end of file