diff --git a/mysql-test/suite/tokudb.bugs/r/frm_store.result b/mysql-test/suite/tokudb.bugs/r/frm_store.result new file mode 100644 index 00000000000..f3a5f5a5cd9 --- /dev/null +++ b/mysql-test/suite/tokudb.bugs/r/frm_store.result @@ -0,0 +1,17 @@ +SET STORAGE_ENGINE = 'tokudb'; +DROP TABLE IF EXISTS foo,bar; +create table foo (a int, b int); +create table bar (a int, key(a)); +show create table foo; +Table Create Table +foo CREATE TABLE `foo` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL +) ENGINE=TOKUDB DEFAULT CHARSET=latin1 +show create table bar; +Table Create Table +bar CREATE TABLE `bar` ( + `a` int(11) DEFAULT NULL, + KEY `a` (`a`) +) ENGINE=TOKUDB DEFAULT CHARSET=latin1 +DROP TABLE foo,bar; diff --git a/mysql-test/suite/tokudb.bugs/r/frm_store2.result b/mysql-test/suite/tokudb.bugs/r/frm_store2.result new file mode 100644 index 00000000000..323f36405e9 --- /dev/null +++ b/mysql-test/suite/tokudb.bugs/r/frm_store2.result @@ -0,0 +1,20 @@ +SET STORAGE_ENGINE = 'tokudb'; +DROP TABLE IF EXISTS foo,bar; +set session tokudb_disable_slow_alter=ON; +create table foo (a bigint, b bigint); +create table bar (a int); +alter table foo drop column a; +alter table bar add column b int, add column c int; +show create table foo; +Table Create Table +foo CREATE TABLE `foo` ( + `b` bigint(20) DEFAULT NULL +) ENGINE=TOKUDB DEFAULT CHARSET=latin1 +show create table bar; +Table Create Table +bar CREATE TABLE `bar` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL, + `c` int(11) DEFAULT NULL +) ENGINE=TOKUDB DEFAULT CHARSET=latin1 +DROP TABLE foo,bar; diff --git a/mysql-test/suite/tokudb.bugs/r/frm_store3.result b/mysql-test/suite/tokudb.bugs/r/frm_store3.result new file mode 100644 index 00000000000..118f1c53675 --- /dev/null +++ b/mysql-test/suite/tokudb.bugs/r/frm_store3.result @@ -0,0 +1,20 @@ +SET STORAGE_ENGINE = 'tokudb'; +DROP TABLE IF EXISTS foo,bar; +create table foo (a int, b int, key(b,a), primary key (a))engine=TokuDB; +create table bar (a bigint)engine=TokuDB; +alter table foo drop index b; +alter table bar add index (a); +show create table foo; +Table Create Table +foo CREATE TABLE `foo` ( + `a` int(11) NOT NULL DEFAULT '0', + `b` int(11) DEFAULT NULL, + PRIMARY KEY (`a`) +) ENGINE=TOKUDB DEFAULT CHARSET=latin1 +show create table bar; +Table Create Table +bar CREATE TABLE `bar` ( + `a` bigint(20) DEFAULT NULL, + KEY `a` (`a`) +) ENGINE=TOKUDB DEFAULT CHARSET=latin1 +DROP TABLE foo,bar; diff --git a/mysql-test/suite/tokudb.bugs/t/frm_store.test b/mysql-test/suite/tokudb.bugs/t/frm_store.test new file mode 100644 index 00000000000..cd0a66b7d46 --- /dev/null +++ b/mysql-test/suite/tokudb.bugs/t/frm_store.test @@ -0,0 +1,48 @@ +# ticket 895 is a query optimization problem with the primary key + +--source include/have_tokudb.inc +SET STORAGE_ENGINE = 'tokudb'; + +--disable_warnings +DROP TABLE IF EXISTS foo,bar; +--enable_warnings + +let $MYSQLD_DATADIR= `SELECT @@datadir`; + +create table foo (a int, b int); +create table bar (a int, key(a)); + +# Write file to make mysql-test-run.pl expect the "crash", but don't start +# it until it's told to +--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +wait +EOF + +# Send shutdown to the connected server and give +# it 10 seconds to die before zapping it +shutdown_server 10; + +remove_file $MYSQLD_DATADIR/test/foo.frm; +copy_file $MYSQLD_DATADIR/test/bar.frm $MYSQLD_DATADIR/test/foo.frm; +remove_file $MYSQLD_DATADIR/test/bar.frm; + +# Write file to make mysql-test-run.pl start up the server again +--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +restart +EOF + +# Turn on reconnect +--enable_reconnect + +# Call script that will poll the server waiting for it to be back online again +--source include/wait_until_connected_again.inc + +# Turn off reconnect again +--disable_reconnect + +show create table foo; +show create table bar; + +# Final cleanup. +DROP TABLE foo,bar; + diff --git a/mysql-test/suite/tokudb.bugs/t/frm_store2.test b/mysql-test/suite/tokudb.bugs/t/frm_store2.test new file mode 100644 index 00000000000..1e0a25296f3 --- /dev/null +++ b/mysql-test/suite/tokudb.bugs/t/frm_store2.test @@ -0,0 +1,51 @@ +# ticket 895 is a query optimization problem with the primary key + +--source include/have_tokudb.inc +SET STORAGE_ENGINE = 'tokudb'; + +--disable_warnings +DROP TABLE IF EXISTS foo,bar; +--enable_warnings + +let $MYSQLD_DATADIR= `SELECT @@datadir`; + +set session tokudb_disable_slow_alter=ON; +create table foo (a bigint, b bigint); +create table bar (a int); +alter table foo drop column a; +alter table bar add column b int, add column c int; + +# Write file to make mysql-test-run.pl expect the "crash", but don't start +# it until it's told to +--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +wait +EOF + +# Send shutdown to the connected server and give +# it 10 seconds to die before zapping it +shutdown_server 10; + +remove_file $MYSQLD_DATADIR/test/foo.frm; +copy_file $MYSQLD_DATADIR/test/bar.frm $MYSQLD_DATADIR/test/foo.frm; +remove_file $MYSQLD_DATADIR/test/bar.frm; + +# Write file to make mysql-test-run.pl start up the server again +--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +restart +EOF + +# Turn on reconnect +--enable_reconnect + +# Call script that will poll the server waiting for it to be back online again +--source include/wait_until_connected_again.inc + +# Turn off reconnect again +--disable_reconnect + +show create table foo; +show create table bar; + +# Final cleanup. +DROP TABLE foo,bar; + diff --git a/mysql-test/suite/tokudb.bugs/t/frm_store3.test b/mysql-test/suite/tokudb.bugs/t/frm_store3.test new file mode 100644 index 00000000000..f1cd69bd855 --- /dev/null +++ b/mysql-test/suite/tokudb.bugs/t/frm_store3.test @@ -0,0 +1,50 @@ +# ticket 895 is a query optimization problem with the primary key + +--source include/have_tokudb.inc +SET STORAGE_ENGINE = 'tokudb'; + +--disable_warnings +DROP TABLE IF EXISTS foo,bar; +--enable_warnings + +let $MYSQLD_DATADIR= `SELECT @@datadir`; + +create table foo (a int, b int, key(b,a), primary key (a))engine=TokuDB; +create table bar (a bigint)engine=TokuDB; +alter table foo drop index b; +alter table bar add index (a); + +# Write file to make mysql-test-run.pl expect the "crash", but don't start +# it until it's told to +--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +wait +EOF + +# Send shutdown to the connected server and give +# it 10 seconds to die before zapping it +shutdown_server 10; + +remove_file $MYSQLD_DATADIR/test/foo.frm; +copy_file $MYSQLD_DATADIR/test/bar.frm $MYSQLD_DATADIR/test/foo.frm; +remove_file $MYSQLD_DATADIR/test/bar.frm; + +# Write file to make mysql-test-run.pl start up the server again +--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +restart +EOF + +# Turn on reconnect +--enable_reconnect + +# Call script that will poll the server waiting for it to be back online again +--source include/wait_until_connected_again.inc + +# Turn off reconnect again +--disable_reconnect + +show create table foo; +show create table bar; + +# Final cleanup. +DROP TABLE foo,bar; +